python的dict用法

**

python的dict用法

**
1,dict
python中的dict(字典)就是来保存这种映射,在dict中每一个key和value 是一一对应的。
【E1】新来同学Gaven成绩86,编写一个dict,把新同学成绩添加进去。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
d ['Gaven'] =86
print(d)
#{'Alice': 45, 'Candy': 75, 'David': 86, 'Ellena': 49, 'Gaven': 86, 'Bob': 60}

2.读取dict 元素。

创建一个dict ,dict 通过key找到对应的value的功能。还可以通过key来获取对应的value,dict提供get方法,把key当作参数传递给get方法。当Key不存在时也不会出错。
【E2】根据如下dict,打印出Alice, Bob, Candy, Mimi, David的成绩,当同学不存在时,打印None。

d ={
    'Alice':45,
    'Bob':60,
    'Candy':75,
    'David':86,
    'Ellena':49,
    'Gaven':86
}
print(d['Alice'])
print(d['Bob'])
print(d['Candy'])
print(d['David'])
print(d['Ellena'])
print(d['Gaven'])

print(d.get('Dodo'))

3.添加dict元素
dict和tuple不一样,dict是可变的,我们随时可以往dict中添加新的key-value,value可以是任意类型的元素,可以是list、tuple等,
【E3】Alice、Bob、Candy的最近三次的成绩分别是[50, 61, 66],[80, 61, 66],[88, 75, 90],请更新dict,使得dict可以保存同学多次的成绩。

d = {
    'Alice': [45],
    'Bob': [60],
    'Candy': [75],
}
d['Alice'] =[50,61,66]
d['Bob'] =[80,61,66]
d['Candy'] =[88,75,90]
print(d)
#{'Bob': [80, 61, 66], 'Alice': [50, 61, 66], 'Candy': [88, 75, 90]}

赋值语句有两个功能:
1.当key不存在时,往dict中添加对应的key:value元素。
2.当key存在时,会更新dict,用新的value 替换原来的value。

在使用赋值语句往dict中添加元素时,为了避免不必要的覆盖问题,我们需要先判断key是否存在,然后再做更新。
【E4】请更新Alice的成绩为60,并把旧的成绩记录下来。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
d['Alice'] =60
print(d)

4.删除dict元素
当我们不需要这个元素时,需要把元素从dict中删除,pop()方法快速删除元素。但需要指定需要删除元素的key,并返回value。
<**注>**pop()方法的参数是dict中的key,当key不存在时,同样会引起错误。

d = {
    'Alice': 45,
    'Bob': 60,
    'Candy': 75,
    'David': 86,
    'Ellena': 49
}
print(d)
alice_score =d.pop('Alice')
print(alice_score)
print(d)

bob_score =d.pop('Bob')
print(bob_score)
print(d)

5.dict的特点
查找速度快
dict的第一个特点是查找速度快,而list的查找速度随着元素增加而逐渐下降。dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
有序与无序
在python3.5之前,dict元素插入顺序是无序的。python3.5之后元素有序。
python遍历dict
遍历dict有两种方法
第一种是遍历dict的所有key,并通过key获得对应的value。
第二种方法是通过dict提供的items()方法,items()方法会返回dict中所有的元素,每个元素包含key和value。
【E5】以此输出同学的每次成绩。
d = {‘Alice’: [50, 61, 66], ‘Bob’: [80, 61, 66], ‘Candy’: [88, 75, 90]}

d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
for key,value in d.items():
    if value > 60:
        print(key,value)
   ==>  #('Bob', [80, 61, 66])
		#('Alice', [50, 61, 66])
		#('Candy', [88, 75, 90])

6.清除所有元素
dict 提供clear()函数,直接清除dict 中所有元素。

d = {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
print(d) # ==> {'Alice': [50, 61, 66], 'Bob': [80, 61, 66], 'Candy': [88, 75, 90]}
d.clear()
print(d)  #====》[]
Python中的字典(dictionary)是一种无序的、可变的数据类型,用于存储键值对(key-value pairs)。 在字典中,每个键(key)都必须是唯一的,并且只能使用不可变的数据类型(如字符串、数字或元组)作为键。值(value)可以是任何数据类型,包括字符串、数字、列表、元组、集合和其他字典等。 以下是一些常见的字典操作: 1. 创建字典 可以使用花括号{}或者dict()函数来创建一个空字典。也可以在花括号中指定键值对来创建一个非空字典。 ```python # 创建空字典 dict1 = {} dict2 = dict() # 创建非空字典 dict3 = {'name': 'Tom', 'age': 18} dict4 = dict([('name', 'Tom'), ('age', 18)]) ``` 2. 获取字典中的值 使用方括号[]来获取字典中的值,括号内为键。如果键不存在,则会抛出KeyError异常。可以使用get()方法获取值,如果键不存在,则返回None或指定的默认值。 ```python dict1 = {'name': 'Tom', 'age': 18} print(dict1['name']) # Tom print(dict1.get('age')) # 18 print(dict1.get('gender', 'unknown')) # unknown ``` 3. 修改字典中的值 通过指定键来修改字典中的值。 ```python dict1 = {'name': 'Tom', 'age': 18} dict1['name'] = 'Jerry' print(dict1) # {'name': 'Jerry', 'age': 18} ``` 4. 添加键值对 通过指定新的键值对来添加到字典中。 ```python dict1 = {'name': 'Tom', 'age': 18} dict1['gender'] = 'male' print(dict1) # {'name': 'Tom', 'age': 18, 'gender': 'male'} ``` 5. 删除键值对 使用del语句或pop()方法来删除字典中的键值对。使用del语句时,如果键不存在,则会抛出KeyError异常。使用pop()方法时,如果键不存在,则会返回指定的默认值或抛出KeyError异常。 ```python dict1 = {'name': 'Tom', 'age': 18} del dict1['name'] print(dict1) # {'age': 18} dict1 = {'name': 'Tom', 'age': 18} dict1.pop('name', 'unknown') print(dict1) # {'age': 18} ``` 6. 遍历字典 可以使用for循环遍历字典中的键或值,也可以使用items()方法遍历键值对。 ```python dict1 = {'name': 'Tom', 'age': 18} for key in dict1: print(key) for value in dict1.values(): print(value) for key, value in dict1.items(): print(key, value) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

newcatowen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值