这里是目录:
1. 访问字典中的值
要获取的字典中的值,需指定字典名和放在方括号内的键:
dic = {'a': 1}
print(dict['a'])
2. 添加键-值对
字典是一种动态结构,可随时增加键-值对,指定字典名、用方括号括起的键,等于相关联的值:
dic = {'a': 1}
print(dic)
# 增加一个键-值
dic['b'] = '2'
dic['c'] = '3'
print(dic)
输出结果会’a’,’b’,’c’键的位置每次打印的位置都不相同,Python不关心键-值对的顺序:
{'a': 1}
{'c': '3', 'a': 1, 'b': '2'}
3. 动态创建键-值对
创建空字典方便后面动态的增加键-值对,在使用字典存储动态提供数据时用到:
# 定义空字典
dic = {}
for i in range(3):
dic[str(i)] = input('input any value: ')
print(dic)
循环次数可根据实际需要改变,产生的键-值对数量不固定,达到动态生成字典的目的:
input any value: a
input any value: b
input any value: c
{'1': 'b', '2': 'c', '0': 'a'}
4.修改字典中的值
修改字典中的值,指定字典名、用方括号括起的键值等于该键相关联的新值:
dic = {'a': 1}
print(dic)
# 修改键'a'的值
dic['a'] = 'one'
print(dic)
5.删除键-值对
对于字典中不需要的信息,使用del语句将相应的键-值对删除,指定字典名、方括号括起的键值:
dic = {'a': 1, 'f': 100}
# 删除键'f'
del dic['f']
print(dic)
6.遍历字典
遍历字典有三种不同的方式:遍历字典的所有键-值对、键或值
遍历所有的键-值
a_person = {
'name': 'lao wang',
'age': '20',
'sex': 'male'}
# 遍历字典
for person_key, person_value in a_person.items():
print(" %s is %s" % (person_key, person_value))
for循环用于遍历字典,person_key 和 person_value分别存储字典的键和值,items()方法返回一个键-值对列表。
name is lao wang
sex is male
age is 20
遍历所有的键
在不需要使用字典中的值时,方法keys()很有用。
a_person = {
'name': 'lao wang',
'age': '20',
'sex': 'male'}
# 遍历字典中的键
for person_key in a_person.keys():
print(person_key)
默认情况下,遍历字典时,就是遍历所有的键,因此上面的代码for person_key in a_person.keys()换成for person_key in a_person,同时也可以使用keys()方法判断字典中是否包含指定的键值。
a_person = {
'name': 'lao wang',
'age': '20',
'sex': 'male'}
# 判断键值中是否包含了"address"
if "address" not in a_person.keys():
print("the key is not exist!!")
按顺序遍历所有的键
在打印字典时,字典的顺序不可预测,如果要以特定的顺序返回元素,使用函数sorted()。
dic = {
'1': 'one',
'4': 'four',
'2': 'two'
}
for num in sorted(dic.keys()):
print(num)
输出时,按照sorted()默认参数进行排序,得到输出:
1
2
4
sorted语法格式:sorted(iterable, key=None, reverse=False)
遍历字典中所有的值
如果只需要遍历字典中的值,使用方法values(),它返回一个列表,不包含任何键。
dic = {
'1': 'one',
'4': 'four',
'2': 'two'
}
# 遍历字典的值
for value in dic.values():
print(value)
得到输出:
two
four
one
同理,也可以对值进行排序,使用方法sorted():
dic = {
'1': 'one',
'4': 'four',
'2': 'two'
}
# 遍历字典的值,并进行排序
for value in sorted(dic.values()):
print(value)
得到输出:
four
one
two