DataAn

Python Dict 字典

2019-03-28  本文已影响30人  JunChow520

Python中字典是一系列的键值对,每个键都与一个值相关联,可使用键来访问与之关联的值。与键相关联的值可以是数字、字符串、列表、字典。事实上,可将任何Python对象用作字典的值。

dict = {"user_id":10000, "username":"junchow"}
print(dict)
# {'user_id': 10000, 'username': 'junchow'}
print(dict["user_id"])
# 10000
print(dict["username"])
# junchow
dict = {"user_id":10000, "username":"junchow"}
dict["gender"] = 1
print(dict)
# {'user_id': 10000, 'username': 'junchow', 'gender': 1}
dict = {}
dict["user_id"] = 10000
dict["username"] = "junchow"
dict["gender"] = 1
print(dict)
# {'user_id': 10000, 'username': 'junchow', 'gender': 1}
del dict["gender"]
print(dict)
# {'user_id': 10000, 'username': 'junchow'}
dict = {}
dict["american capitain"] = "steven steve roger"
dict["hulk"] = "robert bruce banner"
dict["spider man"] = "peter benjamin parker"
dict["iron man"] = "anthony edward tony stack"
print(dict)
# {'american capitain': 'steven steve roger', 'hulk': 'robert bruce banner', 'spider man': 'peter benjamin parker', 'iron man': 'anthony edward tony stack'}

遍历字典

dict = {}
dict["cn"] = "china"
dict["ca"] = "canada"

for key,val in dict.items():
    print(key, val)
dict = {}
dict["cn"] = "china"
dict["ca"] = "canada"

for key in dict.keys():
    print(key)

方法keys()并非只能用于遍历,实际上,它返回一个列表,包含字典中所有的键。

dict = {}
dict["cn"] = "china"
dict["ca"] = "canada"

print(dict.keys())
# dict_keys(['cn', 'ca'])

字典总是明确地记录键和值之间的关联关系,但获取字典的元素时,获取顺序是不可预测的。要以特定的顺序返回元素,可以在for循环中对返回的键进行排序。

dict = {}
dict["cn"] = "china"
dict["ca"] = "canada"
dict["en"] = "english"

for item in sorted(dict.keys()):
    print(item)

可使用方法values()返回一个值的列表,而不包含任何键。

dict = {}
dict["cn"] = "china"
dict["ca"] = "canada"
dict["en"] = "english"

for item in dict.values():
    print(item)

使用values()提取字典中所有的值,而没有考虑是否重复。为剔除重复项可使用集合set,集合类似于列表,但每个元素都必须是独一无二的。

dict = {}
dict["cn"] = "china"
dict["usa"] = "america"
dict["ca"] = "canada"
dict["en"] = "english"
dict["us"] = "america"

for item in set(dict.values()):
    print(item)

通过对包含重复元素的列表调用set(),可让python找出列表中独一无二的元素,并使用这些元素来创建一个集合。结果是一个不重复的列表。

嵌套

有时候,需要将一系列字典存储在列表中,或将列表作为值存储在字典中,这称为嵌套。

字典列表

# 创建空白列表
list = []
# 循环存储
for item in range(10):
    dict = {"id":item, "name":"alice"}
    list.append(dict)
# 分片打印
for item in list[:5]:
    print(item)
# 打印输出
print("total : " + str(len(list)))

在字典中存储列表

有时候需要将列表存储在字典中,而不是将字典存储在列表中。

每当需要在字典中将一个键关联到多个值时,都可以在字典中嵌套一个列表。

dict = {}
dict["language"] = ["python", "java", "lua"]
dict["gender"] = ["male", "female"]
print(dict)
# {'language': ['python', 'java', 'lua'], 'gender': ['male', 'female']}
dict = {}
dict["language"] = ["python", "java", "lua"]
dict["gender"] = ["male", "female"]
print(dict)

for key,val in dict.items():
    print(key + ":")
    for item in val:
        print(item)

在字典中存储字典

可在字典中嵌套字典

上一篇下一篇

猜你喜欢

热点阅读