1.创建字典
- 使用{}方式直接定义,空的{}代表空的dict,需要注意的是:元组可以作为dict的key,但是列表不可以。因为dict要求key必须是不可变类型。
scores = {"语文":89,"数学":92,"英语":93}
- 使用dict()创建字典,可以传入多个列表或元组元素作为key-value对,每个列表或元组被当成一个key-value对,因此这些列表或元组都只能包含两个元素。
#使用dict([(tuple1),(tuple2),(tuple3),...])创建字典
vegetables = [("celery",1.58),("brocoli",1.29),("lettuce",2.19)]
dict1 = dict(vegetables)
#使用dict([[list1],[list2],[list3],...])创建字典
cars = [["BWM",8.5],["BENS",8.3],["AUDI",7.9]]
dict2= dict(cars)
- 如果不为dict()传入任何参数,则创建空字典
dict1= dict()
print(dict1)
- 还可以通过为dict指定关键字参数创建字典,此时字典的key不允许使用表达式
dict1 = dict(spinach = 1.39,cabbage = 2.59)
2.字典的基本用法
- 通过key访问value。
scores = {"语文":89}
print(score["语文"])
- 通过key添加key-value对,只需要为不存在的key赋值即可。
scores["数学"] = 93
scores[92] = 5.7
- 通过key删除key-value对,只需要使用del语句。
del scores["数学"]
del scores["语文"]
- 通过key修改key-value对,通过对dict中存在的key-value赋值,新赋的value就会覆盖原有的value,这样既可改变dict中的key-value对。
- 通过key判断指定key-value对是否存在,使用in语句。
print("AUDI" in cars)
print("PORSCHE" not in cars)
3.字典的常用方法
- clear():清空字典中所有的key-value对。
- get():根据key来获取value,若key不存在则返回None。
- update():更新字典,若字典中不存在参数中的key值,则新建key-value对。
cars = {"BWM":8.5,"BENS":8.3,"AUDI":7.9}
cars.update({"BENS":4.5,"PORSCHE":9.3})
- items()、keys()、values()分别用于获取字典中所有的key-value对,所有key、所有value。依次返回dict_items、dict_keys、dict_values对象,可以通过list()将其转化为列表。
cars = {"BWM":8.5,"BENS":8.3,"AUDI":7.9}
ims = cars.items()
print(list(ims))#[("BWM",8.5),("BENS",8.3),("AUDI",7.9)]
keys = cars.keys()
print(list(keys))#["BWM","BENS","AUDI"]
values = cars.values()
print(list(values))#[8.5,8.3,7.9]
print(list(keys)[1])#"BENS"
- pop()方法用于获取指定key的value,对删除这个key-value对。
cars = {"BWM":8.5,"BENS":8.3,"AUDI":7.9}
print(cars.pop("AUDI"))#"7.9"
print(cars)#{"BWM","BENS"}
- 使用字典格式化字符串。
temp = "书名是:%(name)s,价格是:%(price)010.2f,出版社是:%(publish)s"
book = {"name":"疯狂Python讲义","price":88.9,"publish":"电子社"}
print(temp % book)