代码改变世界

第六章 字典

2017-03-05 14:53  szn好色仙人  阅读(162)  评论(0编辑  收藏  举报
#1.
#A:在python中,字典是一系列的键-值对。每个键都与一个值关联,可以通过键访问与之关联的值
#B:键必须是不可变类型(可哈希的),值可以是python中的任何对象
Test = {1 : 2, 'szn' : 5, 2 : {1 : 2}, 3 : [1, 2, 3], 4 : (5), (6, 7) : 2}
print(Test)             #{1: 2, 2: {1 : 2}, 3: [1, 2, 3], 4: 5, (6, 7): 2, 'szn': 5}
Test = {'a' : 1, 'b' : 2, 'b' : 3, 'c' : 2}
print(Test)             #{'c': 2, 'a': 1, 'b': 3}

#2.
#A:可以对字典添加键-值对
#B:python并不关心键-值的添加顺序,只关心键-值之间的关联关系
Test = {}
Test['one'] = 1
Test['Two'] = 2
print(Test)             #{'Two': 2, 'one': 1}
Test['one'] = 3
print(Test)             #{'one': 3, 'Two': 2}
del(Test['one'])
print(Test)             #{'Two': 2}

#3.
#A:items()返回可遍历的键-值对
#B:key()返回可遍历的键
#C:values()返回可遍历的值
Test = {'a' : 1, 'b' : 2}
ItemList = Test.items()
KeyList = Test.keys()
ValueList = Test.values()
print(ItemList)         #dict_items([('b', 2), ('a', 1)])
print(KeyList)          #dict_keys(['b', 'a'])
print(ValueList)        #dict_values([2, 1])
for value in ItemList:
    print(value, end = ' ') #('a', 1) ('b', 2)
print("")
for value in KeyList:
    print(value, end = ' ') #b a
print("")
for value in ValueList:
    print(value, end = ' ') #2 1
print("")

#4.
#A:遍历字典时候会默认遍历所有键
Test = {'a' : 1, 'b' : 2}
for value in Test:
    print(value, end = ' ') #b a
print("")

#5.
#A:set()返回一个剔除相同项的集合
Test = {'a' : 1, 'b' : 2, 'c' : 2}
print(set(Test.values()))   #{1, 2}

#6.
#A:字典的键-值对可以删除,使用del 或者 pop()
Test = {'a' : 1, 'b' : 2, 'c' : 2}
del(Test['a'])
print(Test)                 #{'c': 2, 'b': 2}
print(Test.pop('b'))        #2
print(Test)                 #{'c': 2}
#print(Test.pop('a'))       由于Test不含键'a',所以会出错