1.定义: {}内用逗号分隔开多个key:value,其中value可以是任意类型,但是key必须是不可变类型(通常key是字符串),且key不能重复
# d={'k1':111,(1,2,3):222} #d=dict({'k1':111,(1,2,3):222})
#根据字典的key获取到该key对应的value值
print(d['k1'])
# 111
print(d[(1,2,3)])
# 222
d={} #默认定义出来的是空字典
# print(d,type(d))
# {}
d1=dict() #使用dict()方法定义空字典
# print(d1,type(d1))
# {}
d2=dict(x=1,y=2,z=3)
# print(d2)
# {'x': 1, 'y': 2, 'z': 3}
d3=dict([["name","llj"]])
# print(d3)
#{'name': 'llj'}
2.数据类型转换
d1={'k1':'llj'}
d1['k1']='haha'
print(d1)
{'k1': 'haha'}
info=[
["name","llj"],
("age",20),
["job","IT"]
]
#将列表转换成字典
#方式一:
d={}
for itme in info:
d[itme[0]]=itme[1]
print(d)
{'name': 'llj', 'age': 20, 'job': 'IT'}
#方式二:
d={}
for k,v in info: #itme=[name":"llj"] 解压赋值 k,v=[name":"llj"]
d[k]=v
print(d)
{'name': 'llj', 'age': 20, 'job': 'IT'}
#方式三:
res=dict(info) #一行代码搞定上述for循环工作
print(res)
{'name': 'llj', 'age': 20, 'job': 'IT'}
#造成这样的字典 d={"name":"None","age":"None","sex":"None","job":"None"}
#方法一:
l=["name","age","sex","job"]
d={}
for i in l:
d[i]=None
print(d)
{'name': None, 'age': None, 'sex': None, 'job': None}
#方法二:
#fromkeys() 创建一个新的字典,其中的键来自iterable,值设置为None
l=["name","age","sex","job"]
d={}
d={}.fromkeys(l)
print(d)
{'name': None, 'age': None, 'sex': None, 'job': None}
#优先掌握的操作
#按key存取值,可存可取
d={'k1':111}
print(d['k1']) #取值
111
#针对赋值操作:key存在,则修改
d['k1']=222
print(d)
{'k1': 222}
#针对赋值操作:key不存在,则创建新增
d['k2']=333
print(d)
{'k1': 111, 'k2': 333}
#len长度
d1={"k1":111,"k2":222,"k1":333,"k1":444}
print(d1) #字典的key不能重复
{'k1': 444, 'k2': 222}
print(len(d1)) #字典根据key
2
#成员运算 in和not in
d1={"k1":111,"k2":222}
print("k1" in d1)
True
print("111" in d1)
False
#删除
d1={"k1":111,"k2":222}
del d1['k1'] #通用删除
print(d1)
{'k2': 222}
#pop删除 根据key删除元素,返回删除key对应的那个value值
res_v=d1.pop('k1')
print(res_v)
111
#popitem删除 随机删除,返回元祖
res_t=d1.popitem()
print(res_t)
('k2', 222)
"""
python2中:keys() values() items()
d1={"k1":111,"k2":222}
print(d1.keys())
["k1","k2"]
print(d1.values())
[111,222]
print(d1.items())
[("k1",111,"k2",222)]
相当于
d1=d.dict([("k1",111,"k2",222)])
print(d1)
{"k1":111,"k2":222}
"""
#for循环
d1={"k1":111,"k2":222}
#获取字典所有keys,方式一
for k in d1.keys():
print(k)
k1
k2
#获取字典所有keys,方式二
for k in d1: #字典默认循环所有key
print(k)
k1
k2
#获取字典所有values
for v in d1.values():
print(v)
111
222
#获取字典所有keys和values
for i in d1.items():
print(i)
('k1', 111)
('k2', 222)
for k,v in d1.items():
print(k,v)
k1 111
k2 222
#将获取的keys和values转成python2中的那种
res_keys=list(d1.keys())
print(res_keys)
['k1', 'k2']
res_values=list(d1.values())
print(res_values)
[111, 222]
res_items=list(d1.items())
print(res_items)
[('k1', 111), ('k2', 222)]
本文深入讲解了Python中字典的基本概念、定义方法、常用操作及数据类型转换等内容,并提供了丰富的实例帮助理解。
12万+

被折叠的 条评论
为什么被折叠?



