0.摘要
本文主要介绍python3中字典的用法,包括创建、访问、添加、修改、删除、遍历。
1.创建字典
my_dict = {} #创建一个空字典
python = {'Version':'3.6'} #创建一个非空字典
coordinate = {'x':0,'y':10}
或者借助dict函数创建创建:
my_dict = dict() #创建一个空字典
coordinate = dict(x=1,y=2) #创建一个非空字典,注意与上一节示例的区别
#利用列表创建一个字典
key_list = ['D', 'U', 'B', 'X', 'G', 'M', 'K', 'Y', 'H', 'W']
value_list = [68, 85, 66, 88, 71, 77, 75, 89, 72, 87]
dict1 = dict(zip(key_list,value_list))
注意:利用dict创建非空字典时,key的name是不需要加引号的,函数会将key转换为一个字符串。因此,这种方式不适合key为非字符串元素的情况,比如:my_dict[1] = 2。
关于用列表创建字典的方式,请移步:
https://blog.csdn.net/qq_17753903/article/details/83277519
2.访问字典中的值
print(coordinate['y_position'])
3.添加键值对
my_dict = {} #创建一个空字典
my_dict['category'] = 'book'
my_dict['name'] = "python"
my_dict['price'] = 66.99
print(my_dict)
另外,类似于集合,可以借助.update()方法实现批量添加:
prices1 = {
'ACME': 45.23,
'AAPL': 612.78,
'IBM': 205.55,
}
prices2 = {
'HPQ': 37.20,
'FB': 10.75
}
prices1.update(prices2)
print(prices1)
#result:{'ACME': 45.23, 'AAPL': 612.78, 'IBM': 205.55, 'HPQ': 37.2, 'FB': 10.75}
4.修改字典中的值
my_dict['price'] = 66.99
print(my_dict)
#result:{'category': 'book', 'name': 'python', 'price': 66.99}
my_dict['price'] = 66.99 * 0.9
print(my_dict)
#result:{'category': 'book', 'name': 'python', 'price': 60.291}
5.删除键值对
print(my_dict)
#result:{'category': 'book', 'name': 'python', 'price': 66.99}
del(my_dict['category'])
print(my_dict)
#result:{'name': 'python', 'price': 66.99}
6.遍历字典中的键值对
user = {
'username':'root',
'password':'123456',
'user type':'Administrator',
'state':'on-line'
}
for key,value in user.items():
print(key,' : ',value)
7.遍历字典中所有键
user = {
'username':'root',
'password':'123456',
'user type':'Administrator',
'state':'on-line'
}
for key in user.keys():
print(key)
8.遍历字典中所有值
user = {
'username':'root',
'password':'123456',
'user type':'Administrator',
'state':'on-line'
}
for value in user.values():
print(value)
9.dict 和 dict.items()的区别
prices = {
'ACME': 45.23,
'AAPL': 612.78,
'IBM': 205.55,
'HPQ': 37.20,
'FB': 10.75
}
for key in prices:
print(key) #输出的是字典的键
for p in prices.items():
print(p) #输出的是字典的键值对
print("ACME" in prices) #True
print("ACME" in prices.keys()) #True
print(('ACME', 45.23) in prices) #False
print(('ACME', 45.23) in prices.items()) #True
注意,要访问字典的键值对,.items()不可少,否则得到的是字典的键。