python之dict与set

一.dict和list中copy方法画图加代码解释

dict浅拷贝

dict_data = {1: [1, 2, 3]}
dict_data1 = dict_data.copy()
print(id(dict_data[1]))
print(id(dict_data1[1]))
print(dict_data)
print(dict_data1)
dict_data[1][1] = 8
print(dict_data)
print(dict_data1)

 


dict_data和dict_data1都指向相同的元素,一个改变也会引起另一个改变

dict深拷贝

import copy
dict_data = {1: [1, 2, 3]}
dict_data1 = copy.deepcopy(dict_data)
print(dict_data[1])
print(dict_data1[1])
print(id(dict_data))
print(id(dict_data1))
dict_data[1][1] = 8
print(dict_data)
print(dict_data1)

 

dict_data dict_data1都是独立的,一个改变后不影响另一个 

二.dict中扩展字典长度(多种方法)

1.setdefult 

dict_data = {1: 2, 2: 3}
data = dict_data.setdefault(3, 4)
print(data)
print(dict_data)

 2.[键] = 键值

dict_data = {1: 2, 2: 3}
dict_data[3] = 4
print(dict_data)

 3.update

dict_data = {1: 2, 2: 3}
dict_data1 = {3: 4}
dict_data.update(dict_data1)
print(dict_data)

 三.dict中获取所有的key,获取所有的value,获取所有的item

获取所有的key

dict_data = {1: 2, 2: 3, 3: 4}
data = dict_data.keys()
print(data)

 获取所有的value

dict_data = {1: 2, 2: 3, 3: 4}
data = dict_data.values()
print(data)

 获取所有的item

dict_data = {1: 2, 2: 3, 3: 4}
data = dict_data.items()
print(data)

 四.dict中通过一个不存在的key去获取值(要求不报错)

get:如果key在字典中则返回key值,若key值不在字典内则返回默认值None

dict_data = {1: 2, 2: 3, 3: 4}
data = dict_data.get(4)
print(data)

五.定义空集合

data = set()
print(data, type(data))

六. set中,求差集,求合集,求交集(要求在原集合上操作)
   添加一个元素
   删除一个元素(使用多种方法)

差集

set_data1 = {1, 2, 3, 7}
set_data2 = {2, 4, 5, 7}
set_data3 = {2, 4, 6, 7}
set_data1.symmetric_difference_update(set_data3)
print(set_data1)

合集

set_data1 = {1, 2, 3, 7}
set_data2 = {2, 4, 5, 7}
set_data3 = {2, 4, 6, 7}
set_data1.update(set_data2)
# set_data1.symmetric_difference_update(set_data3)
print(set_data1)

 

交集 

set_data1 = {1, 2, 3, 7}
set_data2 = {2, 4, 5, 7}
set_data3 = {2, 4, 6, 7}
set_data1.intersection_update(set_data2, set_data3)
print(set_data1)

 

 添加一个元素

add

set_data1 = {1, 2, 3, 7}
set_data1.add(4)
print(set_data1)

删除一个元素

1.pop(删除并返回第一个元素)

set_data1 = {1, 2, 3, 7}
set_data1.pop()
print(set_data1)

2. remove(必须是成员才能删除)

set_data1 = {1, 2, 3, 7}
set_data1.remove(2)
# set_data1.pop()
print(set_data1)

3.discard(如果元素是成员,则从集合中删除该元素)

set_data1 = {1, 2, 3, 7}
set_data1.discard(2))
print(set_data1)

 

 4.difference_update(从此集中删除另一组的所有元素)

set_data1 = {1, 2, 3, 7}
set_data = {2}
set_data1.difference_update(set_data)
print(set_data1)

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值