栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中dict字典和set集合的使用方法及浅拷贝及数据类型转换超详解加代码演示

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中dict字典和set集合的使用方法及浅拷贝及数据类型转换超详解加代码演示

python中dict字典和set集合的使用方法及浅拷贝及数据类型转换超详解加代码演示
    • 1.dict和list中copy方法画图加代码解释(重新画一下)
    • 2.dict中扩展字典长度(多种方法)
    • 3.dict中获取所有的key,获取所有的value,获取所有的item
    • 4.dict中通过一个不存在的key去获取值(要求不报错)
    • 5.定义空集合
    • 6.set中,求差集,求合集,求交集(要求在原集合上操作) 添加一个元素 删除一个元素(使用多种方法)
      • 求差集,求合集,求交集
    • 添加一个元素
    • 删除一个元素(使用多种方法)
    • 7.数据类型转换:
      • 将浮点型,字符串转换成整型
      • 将整数,字符串转成浮点型
      • 将二进制,八进制,16进制转成10进制
      • 将10进制转换成,二进制,八进制,16进制
      • 将字符串转换为字节
      • 将字节转换成字符串
      • 将ascii码转换为字符串
      • 将字符串转换成ascii码

1.dict和list中copy方法画图加代码解释(重新画一下)


首先我们输入下面代码

list_data = [1, 2, [3, 4, 5]]
copy_list = list_data.copy()
print(list_data, copy_list)
print(id(list_data), id(copy_list))  # 查看它两的id
print(id(list_data[0]), id(copy_list[0]))  # 查看list_data和copy_list中第一个元素的id
print(id(list_data[1]), id(copy_list[1]))  # 查看list_data和copy_list中第二个元素的id
print(id(list_data[2]), id(copy_list[2]))  # 查看list_data和copy_list中第三个元素的id
print(id(list_data[2][2]), id(copy_list[2][2]))  # 查看list_data和copy_list中第三个元素中的第三个的id

copy_list[0] = 10  # 将copy_list中的第一个元素修改为 10
print(list_data, copy_list)  # 输出list_data, copy_list可以看出copy_list中的第一个元素被修改了,而list_data的第一个元素未发生变化

copy_list[1] = 20  # 将copy_list中的第二个元素修改为 20
print(list_data, copy_list)  # 输出list_data, copy_list可以看出copy_list中的第二个元素被修改了,而list_data的第一个元素未发生变化

copy_list[2][0] = 30  # 将copy_list中的第三个元素修改为 30
print(list_data, copy_list)  # 输出list_data, copy_list可以看出copy_list中的第三个元素被修改了,而list_data的第三个元素也随之变化了
print(id(list_data[0]), id(copy_list[0]))  # 查看list_data和copy_list中第一个元素的id
print(id(list_data[1]), id(copy_list[1]))  # 查看list_data和copy_list中第二个元素的id
print(id(list_data[2]), id(copy_list[2]))  # 查看list_data和copy_list中第三个元素的id
print(id(list_data[2][0]), id(copy_list[2][0]))  # 查看list_data和copy_list中第三个元素中的第一个的id
''' 由此我们可以总结出 1.list_data和copy_list是两个独立的对象因为他们地id不
                   2.浅拷贝是使用copy.copy( )方法,是对拷贝对象中不可变对象的完全拷贝,
                   如果拷贝对象中存在可变对象,那么可变对象发生变化后,拷贝得到的对象也会发生变化。
                   '''

2.dict中扩展字典长度(多种方法)
#  1)直接使用[key] = value
dict_var = {1: 2, 2: 3, 3: 4}
dict_var[4] = 5
print(dict_var, type(dict_var))
#   运行结果
#  {1: 2, 2: 3, 3: 4, 4: 5} 

#  2)使用setdefault插入一个键和键值
dict_var = {1: 2, 2: 3, 3: 4}
dict_var.setdefault(4, 5)
print(dict_var)
#   运行结果
#  {1: 2, 2: 3, 3: 4, 4: 5}

# 3)使用update从字典中迭代更新
dict_var = {1: 2, 2: 3, 3: 4}
dict_var1 = {4: 5}
dict_var.update(dict_var1)
print(dict_var)
#   运行结果
# {1: 2, 2: 3, 3: 4, 4: 5}


3.dict中获取所有的key,获取所有的value,获取所有的item
	# 3.dict中获取所有的key,获取所有的value,获取所有的item
# 1)key
dict_var = {1: 2, 2: 3, 3: 4}
return_data = dict_var.keys()
print(return_data)
#   运行结果
# dict_keys([1, 2, 3])

# 2)value
dict_var = {1: 2, 2: 3, 3: 4}
return_data = dict_var.values()
print(return_data)
#   运行结果
# dict_values([2, 3, 4])

# 3)item
dict_var = {1: 2, 2: 3, 3: 4}
return_data = dict_var.items()
print(return_data)
#   运行结果
# dict_items([(1, 2), (2, 3), (3, 4)])
4.dict中通过一个不存在的key去获取值(要求不报错)
#  4.dict中通过一个不存在的key去获取值(要求不报错)
# 1)setdefault
dict_data = {1: 548, 2: 54, 3: 40}
return_data = dict_data.setdefault(5)
print(return_data)
#   运行结果
# None
# 2)get
dict_data = {1: 548, 2: 54, 3: 40}
return_data = dict_data.get(63)
print(return_data)
#   运行结果
# None

5.定义空集合
#  5.定义空集合
set_data = set()
print(set_data, type(set_data))
#   运行结果
# set() 
6.set中,求差集,求合集,求交集(要求在原集合上操作) 添加一个元素 删除一个元素(使用多种方法) 求差集,求合集,求交集
#  6.set中,求差集,求合集,求交集(要求在原集合上操作) 添加一个元素 删除一个元素(使用多种方法)
# 1) 差集
set_data = {1, 3, 5, 6, 7}
set_data1 = {1, 2, 3, 5, 6}
set_data.symmetric_difference_update(set_data1)
print(set_data)
#   运行结果
# {2, 7}

# 2)合集
set_data = {1, 3, 5, 6, 7}
set_data1 = {1, 2, 3, 5, 6}
set_data.update(set_data1)
print(set_data)

#   运行结果
# {1, 2, 3, 5, 6, 7}

# 3)交集
set_data = {1, 3, 5}
set_data1 = {1, 2, 3, 4}
set_data.intersection_update(set_data1)
print(set_data)
#   运行结果
# {1, 3}

添加一个元素
    #  添加一个元素
    set_data = {1, 3}
    set_data.add(2)
    print(set_data)
    #   运行结果
    # {1, 2, 3}
删除一个元素(使用多种方法)

pop

set_data = {1, 3, 4, 5, 6, 7}
data = set_data.pop()
print(set_data)
# 结果
# {3, 4, 5, 6, 7}

remove
如果元素是成员,则从集合中删除该元素。

set_data = {1, 3, 4, 5, 7, 8}
set_data.remove(3)
print(set_data)
#   运行结果
# 1, 4, 5, 7, 8}

discard
如果元素是成员,则从集合中删除该元素。

set_data = {1, 3, 5}
set_data.discard(1)
print(set_data)
#   运行结果
# {3, 5}

difference_update
从此集中删除另一组的所有元素。

set_data = {1, 3, 5}
set_data1 = {1, 3}
set_data.difference_update(set_data1)
print(set_data)
#   运行结果
# {5}

clear
从此集中删除所有元素

set_data = {1, 3, 65, 45654, 65464, 8994}
set_data.clear()
print(set_data)
#   运行结果
# set()
7.数据类型转换: 将浮点型,字符串转换成整型
int_var = int(1.5)
int_var1 = int("6464")
print(int_var, type(int_var))
print(int_var1, type(int_var1))
#   运行结果
# 1 
# 6464 
将整数,字符串转成浮点型
data1 = float(1)
data2 = float('1')
print(data1, type(data1))
print(data2, type(data2))
#   运行结果
# 1.0 
# 1.0 
将二进制,八进制,16进制转成10进制
data1 = int(0b100)
data2 = int(0o100)
data3 = int(0x100)
print(data1, type(data1))
print(data2, type(data2))
print(data3, type(data3))
# 结果
# 4 
# 64 
# 256 

将10进制转换成,二进制,八进制,16进制
data1 = bin(4)
data2 = oct(64)
data3 = hex(256)
print(data1, type(data1))
print(data2, type(data2))
print(data3, type(data3))
# 结果
# 0b100
# 0o100
# 0x100
将字符串转换为字节
data1 = bytes("按时间", encoding="UTF-8")
print(data1, type(data1))
# 结果
# b'xe6x8cx89xe6x97xb6xe9x97xb4' 
将字节转换成字符串
data1 = str(b'xe6x8cx89xe6x97xb6xe9x97xb4', encoding="UTF-8")
print(data1, type(data1))
# 结果
# 按时间 
将ascii码转换为字符串
data1 = chr(49)
print(data1, type(data1))
# 结果
# 1 
将字符串转换成ascii码
data1 = ord(str('1'))
print(data1, type(data1))
# 结果
# 49 
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971847.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号