这篇博客主要是学习一下Python中的字典这种数据结构。字典是Python中唯一的映射类型。
1.字典的定义
字典的特征是字典的标志是花(大)括号,字典中的元素使用键值对的方式。一个键值对作为一个数据项。
2.创建字典的方法
(1)使用定义法
dict1={'李宁':'一切皆有可能','耐克':'Just do it','阿迪达斯':'Impossible is nothing','鱼C工作室':'编程让世界更美好'}
print("鱼C工作室的口号是:",dict1["鱼C工作室"])
print("\n")
dict2={1:'one',2:'two',3:'three'}
#可以使用键作为索引获得相应的值。
print(dict2[1])
print('\n')
2.使用dict()函数来创建一个字典
值得注意的是dict()只有一个参数
#之所以会有那么多的括号,是因为dict函数只有一个参数
dict3=dict((('F',70),('i',105),('s',115),('h',104),('C',67)))
print(dict3)
print('\n')
(3)使用dict()+关键字参数创建一个字典
值得注意的是:关键字参数并没有引号
dict4=dict(小甲鱼="编程让世界更加美好",苍井空="让AV征服宅男")
print(dict4)
3.修改字典中的项
(1)修改字典中存在的项
dict4['苍井空']="AV不是宅男的福利"
print(dict4)
(2)修改字典中不存在的项
这个比较特殊,不但不会出现异常,而且会在字典中插入该数据项
dict4['爱迪生']="天才是99%的汗水加上1%的灵感"
print(dict4)
4.字典的内置函数
(1)fromkeys(S[,v]) 创建一个字典并返回一个字典,第二个参数默认值为
None.
dict1={}
dict1=dict1.fromkeys((1,2,3))
print(dict1)
print("\n")
dict1=dict1.fromkeys((1,2,3),('numbers'))
print(dict1)
(2)keys()函数:获取字典的所有的键
dict1=dict1.fromkeys(range(32),"赞")
print(dict1)
for eachkey in dict1.keys():
print(eachkey,end=" ")
print("\n")
(3)values()函数:获取字典的所有的值
#values()所有值的集合
for eachvalue in dict1.values():
print(eachvalue,end=" ")
print("\n")
(4)items()函数:获取函数的所有项
for eachitem in dict1.items():
print(eachitem,end=" ")
(5)get()函数获得字典键对应的值,如果不存在则返回None
str1=dict1.get(32)
print(str1)
(6)in 或者not in 成员关系判断符:判断一个键或者值是否在字典中
print("\n")
print(32 in dict1)
print("\n")
(7)clear():清空字典中的所有项
dict1.clear()
print(dict1)
(8)update()函数:使用一个字典更新另一个字典的内容
a={1:"one"}
b={1:"two"}
a.update(b)
print(a)
最后再来说一下使用“=”(赋值符号)和使用拷贝函数的不同:
总的来说使用赋值符号只是创建了一个指向给数据的标签,但还是共用一份数据,类似于人的大小名字。而使用函数时完完全全没有关系的数据。
print("\n")
list1=['1','2','3']
list2=list1[:3]
list3=list1
print(id(list1))
print(id(list2))
print(id(list3))
print(list2)
print(list3)
list1[0]="666"
print(list2)
print(list3)
#根据id可知,字典的赋值操作创建了一个指向
#数据的一个标签,并不是真正意义上的拷贝
a={"姓名":"小甲鱼"}
b=a
print(id(a))
print(id(b))
print(b)
#将a指向了空字典,而不是改变其数据的大小
#这里类似于指针的赋值,指针的赋值是将地址的赋值
#而不是数据的赋值
a={}#空集类似于空指针
print(id(a))
print(a)
print(b)
#赋值与全拷贝函数,区别类似于上面
a={1:'one',2:'two',3:'three'}
b=a.copy()
c=a
print(id(a))
print(id(b))
print(id(c))
print(a)
print(b)
print(c)
字典的知识到此为止,如果再有会及时补充。