日期: 2022-09-21 05:30:32 浏览数:6

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
府谷淘宝装修/府谷京东店铺设计/府谷拼多多网店装修公司/府谷企业网店开通申请-网店装修设计

以上实例输出结果:
Traceback (most recent call last):
File "test.py", line 3, in <module>
tinydict = {['Name']: 'Runoob', 'Age': 7}TypeError: unhashable type: 'list'Python字典包含了以下内置函数:
| 序号 | 函数及描述 | 实例 |
|---|---|---|
| 1 | len(dict) 计算字典元素个数,即键的总数。 | >>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}>>> len(tinydict)3 |
| 2 | str(dict) 输出字典,可以打印的字符串表示。 | >>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}>>> str(tinydict)"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}" |
| 3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 | >>> tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}>>> type(tinydict)<class 'dict'> |
Python字典包含了以下内置方法:
| 序号 | 函数及描述 |
|---|---|
| 1 | dict.clear() 删除字典内所有元素 |
| 2 | dict.copy() 返回一个字典的浅复制 |
| 3 | dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
| 4 | dict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值 |
| 5 | key in dict 如果键在字典dict里返回true,否则返回false |
| 6 | dict.items() 以列表返回一个视图对象 |
| 7 | dict.keys() 返回一个视图对象 |
| 8 | dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
| 9 | dict.update(dict2) 把字典dict2的键/值对更新到dict里 |
| 10 | dict.values() 返回一个视图对象 |
| 11 | pop(key[,default]) 删除字典 key(键)所对应的值,返回被删除的值。 |
| 12 | popitem() 返回并删除字典中的最后一对键和值。 |
课后练习
字典的键值是"只读"的,所以不能对键和值分别进行初始化,即以下定义是错的:
>>> dic = {}
>>> dic.keys = (1,2,3,4,5,6)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'dict' object attribute 'keys' is read-only
>>> dic.values = ("a","b","c","d","e","f")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'dict' object attribute 'values' is read-only
>>>
hellowqp
hellowqp
wqp***a@foxmail.com
5年前 (2017-07-10)
hackmeng
715***8@qq.com
239
字典是支持无限极嵌套的,如下面代码:
cities={
'北京':{
'朝阳':['国贸','CBD','天阶','我爱我家','链接地产'],
'海淀':['圆明园','苏州街','中关村','北京大学'],
'昌平':['沙河','南口','小汤山',],
'怀柔':['桃花','梅花','大山'],
'密云':['密云A','密云B','密云C']
},
'河北':{
'石家庄':['石家庄A','石家庄B','石家庄C','石家庄D','石家庄E'],
'张家口':['张家口A','张家口B','张家口C'],
'承德':['承德A','承德B','承德C','承德D']
}
}
可以使用如下方法进行列出
for i in cities['北京']:
print(i)
将列出如下结果:
朝阳
海淀
昌平
怀柔
密云
for i in cities['北京']['海淀']:
print(i)
输出如下结果:
圆明园
苏州街
中关村
北京大学
hackmeng
hackmeng
715***8@qq.com
5年前 (2017-09-13)
匿名
123***789@qq.com
108
用字典记录学生名字和分数,再分级:
#!/usr/bin/python3
students= {}
write = 1
while write :
name = str(input('输入名字:'))
grade = int(input('输入分数:'))
students[str(name)] = grade
write= int(input('继续输入? 1/继续 0/退出'))
print('name rate'.center(20,'-'))
for key,value in students.items():
if value >= 90:
print('%s %s A'.center(20,'-')%(key,value))
elif 89 > value >= 60 :
print('%s %s B'.center(20,'-')%(key,value))
else:
print('%s %s C'.center(20,'-')%(key,value))
测试输出结果:
输入名字:a
输入分数:98
继续输入?
1/继续 0/退出1
输入名字:b
输入分数:23
继续输入?
1/继续 0/退出0
-----name rate-----
------a 98 A------
------b 23 C------
匿名
匿名
123***789@qq.com
4年前 (2018-06-13)
刀疤007
809***785@qq.com
121
字典可以通过以下方法调换 key和 value,当然要注意原始 value 的类型,必须是不可变类型:
dic = {
'a': 1,
'b': 2,
'c': 3,
}
reverse = {v: k for k, v in dic.items()}
print(dic)
print(reverse)
输出如下:
{'a': 1, 'b': 2, 'c': 3}
{1: 'a', 2: 'b', 3: 'c'}
刀疤007
刀疤007
809***785@qq.com
4年前 (2018-06-20)
小白学python
179***943@qq.com
46
循环显示字典 key 与 value 值:
b= {'a':'runoob','b':'google'}
for i in b.values():
print(i)
for c in b.keys():
print(c)
府谷淘宝装修/府谷京东店铺设计/府谷拼多多网店装修公司/府谷企业网店开通申请-网店装修设计
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)