1、
在Python中,字典是一系列“键-值”对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。
字典用放在花括号“{}”中的一系列“键-值”对表示:
#coding=utf-8
alien_0 = {"color":"green", "points":"5"} #定义字典
print(alien_0["color"]) #访问字典的值
print(alien_0)
alien_0["x_position"] = 0 #给字典添加键值对
alien_0["y_position"] = 25
print(alien_0)
alien_0["color"] = "yellow" #修改字典的值
print(alien_0["color"])
del alien_0["points"] #删除键值对
print(alien_0)
2、遍历字典
user_0 = {
"user_name":"efeimi",
"first":"enrico",
"last":"fermi"
}
for key, value in user_0.items():
print("key " + key)
print("value " + value)
要编写用于遍历字典的for循环,可声明两个变量,用于存储键值对中的键和值,名称任意。for语句中字典名和方法items(),返回一个键值对列表。遍历字典时,返回顺序与存储顺序不一定会一致。
也可只遍历字典的键:
for key in user_0.keys():
print("key " + key)
字典名和方法keys()返回键的列表,不过遍历字典默认就只遍历键,所以等价这么写:for key in user_0():
其实方法keys()不仅仅用于遍历,因为返回的是一个列表,所以可以这么用:if "user_name" not in user_0.keys():
如果遍历的时候想要按顺序,可以用sorted来排序。eg:for key in sorted(user_0.keys()):
也可只遍历字典的值:
for value in user_0.values():
print("value " + value )
字典名和方法values()返回值的列表,这样是会有重复项。去除重复项可以调用set():for value in set(user_0.values()):
3、嵌套
字典列表:将字典嵌套到列表中
alien_0 = {"color":"green", "points":"5"}
alien_1 = {"color":"yellow", "points":"10"}
alien_2 = {"color":"red", "points":"15"}
aliens = [alien_0, alien_1, alien_2] #将字典嵌套进列表
for alien in aliens:
print(alien)
字典中存储列表:列表存储在字典中
favorite_languages = {
"jen":["python", "ruby","c"], #将列表嵌套进字典
"tom":["python", "ruby"],
"mike":["ruby","c"]
}
for name, languages in favorite_languages.items():
print("name:" + name)
for language in languages:
print("language:" + language)
print("\n")
字典中存储字典:字典存储在字典中