# In[1] 6.2.2 添加键—值对标签:Chapter,languages,color,favorite,alien,print,字典 From: https://www.cnblogs.com/IT-QiuYe/p/17008765.html
'''
字典是一种动态结构,可随时在其中添加键—值对。要添加键—值对,可依次指定字典名、用
方括号括起的键和相关联的值。
'''
alien = {'color': 'green', 'points': 5}
print(alien)
alien['x_pos'] = 10 # 添加
print(alien)
alien['y_pos'] = 12
print(alien)
alien['color'] = 'red'
print(alien)
# In[2]
alien = {}
print(type(alien))
# In[3]
alien = {'color': 'green', 'points': 5}
print(alien['color'])
del alien['color']
print(alien)
# In[4] 6.2.6 由类似对象组成的字典
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
# In[5] 6.3 遍历字典 多种遍历字典的方式:可遍历字典的所有键—值对、键或值。
user_0 = {
'username': 'efermi',
'first': 'enrico',
'last': 'fermi',
}
print(str(user_0.items()))
# np.savetxt("dict.txt",str(a),fmt='%s')
for key, value in user_0.items():
print("\nKey:", key)
print("Value:", value)
'''注意,即便遍历字典时,键—值对的返回顺序也与存储顺序不同。Python不关心键—值对的存储顺序,而只跟踪键和值之间的关联关系。'''
# In[6] 6.3.2 遍历字典中的所有键
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for key in favorite_languages.keys():
print(key.title())
# 等价于 || 以下的语句 显式与隐式功能相同
for key in favorite_languages:
print(key.title())
# In[7] 6.3.3 按顺序遍历字典中的所有键
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for name in sorted(favorite_languages.keys()): # 临时排序而已
print(name.title())
print(favorite_languages.keys())
# In[8] 6.3.4 遍历字典中的所有值
favorite_languages = {
'jen': 'python',
'sarah': 'c',
'edward': 'ruby',
'phil': 'python',
}
for value in favorite_languages.values():
print(value.title())
print('------以上方法这种做法提取字典中所有的值,而没有考虑是否重复------')
# 以上方法这种做法提取字典中所有的值,而没有考虑是否重复
for value in set(favorite_languages.values()):
print(value.title())
# In[9]
# '''6.4 嵌套 可以在列表中嵌套字典、在字典中嵌套列表甚至在字典中嵌套字典'''
alien_0 = {'color': 'green', 'points': 5}
alien_1 = {'color': 'red', 'points': 10}
alien_2 = {'color': 'blue', 'points': 15}
aliens = [alien_0, alien_1, alien_2]
for al in aliens:
print(al)
print("----改进变高级一点----")
# 改进变高级一点
aliens = []
for alien_number in range(30):
new_alien = {'color': 'green', 'points': 5}
aliens.append(new_alien)
for alien in aliens[:5]:
print(alien)
# In[10]
# 例如,你如何描述顾客点的比萨呢?如果使用列表,只能存储要添加的比萨配料;但如果使用字典,就不仅可在其中包含配料列表,还可包含其他有关比萨的描述。
"""P114 6.4.2 在字典中存储列表"""
""" 嵌套 """