【Python】字典

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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值