Python3 通过字典的get()方法和setdefault()方法添加映射多个值的元素(用列表和集合实现)

字典中的值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

字典有以下几种常用添加元素的方法:

dict = {'a': 1, 'b': 2}
print(dict)            # {'a': 1, 'b': 2}

dict['c'] = 3
print(dict)            # {'a': 1, 'b': 2, 'c': 3}

dict.update({'b': 4})
print(dict)            # {'a': 1, 'b': 4, 'c': 3}

dict.update(d = 5, e = 6) # 这种是以赋值的方法加入字典
print(dict)            # {'a': 1, 'b': 4, 'c': 3, 'd': 5, 'e': 6}

可以看到当字典中存在已有的元素时,会覆盖已有元素的值,而不会在已有元素上的值添加新值,这时候就可以采用列表或集合的形式作为字典的值来添加多个元素。

先看看字典的get()方法:返回指定键的值,如果键不在字典中返回默认值 None

dict.get(key, default=None)
  • key -- 字典中要查找的键。
  • default -- 如果指定的键不存在时,返回该默认值。

字典的setdefault()方法:如果key在字典中,返回对应的值。如果不在字典中,则插入key及设置的默认值default,并返回default ,default默认值为None

dict.setdefault(key, default=None)
  • key -- 查找的键值。
  • default -- 键不存在时,设置的默认键值。

字典的get()方法和setdefault()方法类似,那么就有以下两种添加元素的方法:

dict = {'a': 1, 'b': 2}
dict['c'] = dict.get('c', 3) # 通过get()方法添加元素
print(dict)            # {'a': 1, 'b': 2, 'c': 3}

dict.setdefault('d', 4) # 通过setdefault()方法添加元素
print(dict)            # {'a': 1, 'b': 2, 'c': 3, 'd': 4}

用列表实现添加多个值:

# a对应1,2,3,b对应4,5
letter = ['a', 'b']
num = [1, 2, 3, 4, 5]
p = {}

# 利用dict.get()先创建空的列表
p[letter[0]] = p.get(letter[0], [])   # 设置get()方法的默认值为空列表[]
p[letter[1]] = p.get(letter[1], [])   # p的值为{'a': [], 'b': []}

# 再加入值
p[letter[0]].append(num[0])
p[letter[0]].append(num[1])
p[letter[0]].append(num[2])

p[letter[1]].append(num[3])
p[letter[1]].append(num[4])    # p的值为{'a': [1, 2, 3], 'b': [4, 5]}

用集合实现添加多个值:

# a对应1,2,3,b对应4,5
letter = ['a', 'b']
num = [1, 2, 3, 4, 5]
p = {}

# 利用dict.setdefault()先创建空的集合
p.setdefault(letter[0], set())   # 设置setdefault()方法的默认值为空集合set()
p.setdefault(letter[1], set())   # p的值为{'a': set(), 'b': set()}

# 再加入值
p[letter[0]].add(num[0])
p[letter[0]].add(num[1])
p[letter[0]].add(num[2])

p[letter[1]].add(num[3])
p[letter[1]].add(num[4])    # p的值为{'a': {1, 2, 3}, 'b': {4, 5}}

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的列表字典集合都支持添加和删除元素的操作。 1. 列表添加和删除 列表Python中最常用的数据结构之一,用于存储一组有序的元素。下面是列表添加和删除操作: 添加元素: - 使用append()方法列表末尾添加一个元素: ``` my_list = [1, 2, 3] my_list.append(4) print(my_list) #[1, 2, 3, 4] ``` - 使用extend()方法列表末尾添加多个元素: ``` my_list = [1, 2, 3] my_list.extend([4, 5]) print(my_list) #[1, 2, 3, 4, 5] ``` - 使用insert()方法在指定位置添加一个元素: ``` my_list = [1, 2, 3] my_list.insert(1, 4) print(my_list) #[1, 4, 2, 3] ``` 删除元素: - 使用remove()方法删除列表中的指定元素: ``` my_list = [1, 2, 3, 4] my_list.remove(3) print(my_list) #[1, 2, 4] ``` - 使用pop()方法删除列表中的指定位置的元素: ``` my_list = [1, 2, 3, 4] my_list.pop(2) print(my_list) #[1, 2, 4] ``` 2. 字典添加和删除 字典Python中另一个常用的数据结构,用于存储一组键-对。下面是字典添加和删除操作: 添加元素: - 直接通过键来添加元素: ``` my_dict = {'name': 'Tom', 'age': 18} my_dict['gender'] = 'male' print(my_dict) #{'name': 'Tom', 'age': 18, 'gender': 'male'} ``` 删除元素: - 使用del语句删除指定键的元素: ``` my_dict = {'name': 'Tom', 'age': 18} del my_dict['age'] print(my_dict) #{'name': 'Tom'} ``` - 使用pop()方法删除指定键的元素: ``` my_dict = {'name': 'Tom', 'age': 18} my_dict.pop('age') print(my_dict) #{'name': 'Tom'} ``` 3. 集合添加和删除 集合Python中的一种数据结构,用于存储一组无序不重复的元素。下面是集合添加和删除操作: 添加元素: - 使用add()方法添加一个元素: ``` my_set = {1, 2, 3} my_set.add(4) print(my_set) #{1, 2, 3, 4} ``` - 使用update()方法添加多个元素: ``` my_set = {1, 2, 3} my_set.update([4, 5]) print(my_set) #{1, 2, 3, 4, 5} ``` 删除元素: - 使用remove()方法删除指定元素: ``` my_set = {1, 2, 3, 4} my_set.remove(3) print(my_set) #{1, 2, 4} ``` - 使用discard()方法删除指定元素(如果元素不存在也不会报错): ``` my_set = {1, 2, 3, 4} my_set.discard(3) print(my_set) #{1, 2, 4} ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值