python中的数据类型转换与浅拷贝

本文介绍了Python编程中字典和列表的复制、扩展方法,如dict.setdefault和dict.update,以及如何获取键、值和项。还详细讲解了集合的操作,包括求差集、并集、交集以及添加和删除元素。此外,文章涵盖了数据类型的转换,如浮点型和字符串转整型,以及字符串与字节的相互转换。
摘要由CSDN通过智能技术生成

目录

一、dict和list中copy

二、dict中扩展字典长度的方法

三、dict中获取所有的key,获取所有的value,获取所有的items

四、dict中通过一个不存在key去获取值

五、定义空集合

六、set中求差值,求集合,求交集(原合集上操作)添加一个元素,删除一个元素

七、数据类型转换


一、dict和list中copy

dict


a = {1: 2, 3: 4, 5: [6, 7, 8]}
b = a.copy()
b[1] = 9
b[5][1] = 11
print(a)
print(b)
{1: 2, 3: 4, 5: [6, 11, 8]}
{1: 9, 3: 4, 5: [6, 11, 8]}

 

 

list

a = [1, 2, 3, [4, 5]]
b = a.copy()
b[1] = 9
b[3][1] = 11
print(a)
print(b)
[1, 2, 3, [4, 11]]
[1, 9, 3, [4, 11]]

 

二、dict中扩展字典长度的方法

1、dict.setdefault

插入,如果字典里没有,会自动设置一个默认值

dict_var = {1: 2, 2: 3, 4: 5}
dict_data = dict_var.setdefault(7, 8)
print(dict_data)
print(dict_var)
{1: 2, 2: 3, 4: 5, 7: 8}

2、dict.update

update方法使用另一个字典对象或可迭代的键值对中的元素更新字典

dict_var = {1: 2, 2: 3, 3: 4}
dict_var.update(a=1, b=18)
print(dict_var)
dict_var.update({5: 6, 7: 8})
print(dict_var)
dict_var.update([(9, 10), (11, 12)])
print(dict_var)
{1: 2, 2: 3, 3: 4, 'a': 1, 'b': 18}
{1: 2, 2: 3, 3: 4, 'a': 1, 'b': 18, 5: 6, 7: 8}
{1: 2, 2: 3, 3: 4, 'a': 1, 'b': 18, 5: 6, 7: 8, 9: 10, 11: 12}

三、dict中获取所有的key,获取所有的value,获取所有的items

dict.keys             

返回字典中所有的键

dict.values           

返回字典中所有的值

dict.items             

返回字典中所有的键值对

dict_var = {1: 2, 3: 4, 5: 6, 7: 8}
dict_var.values()
print(dict_var.values())

dict_var.keys()
print(dict_var.keys())

dict_var.items()
print(dict_var.items())

dict_values([2, 4, 6, 8])
dict_keys([1, 3, 5, 7])
dict_items([(1, 2), (3, 4), (5, 6), (7, 8)])

四、dict中通过一个不存在key去获取值

dict_var = {1: 2, 3: 4, 5: 6, 7: 8}
dict_var.get(9,0)
print(dict_var.get(9,0))
0

五、定义空集合

set_var = {1, 2, 3, 4}
set_var.clear()
print(set_var,type(set_var))
set() <class 'set'>

六、set中求差值,求集合,求交集(原合集上操作)添加一个元素,删除一个元素

set_var1 = {1, 2, 3}       差值
set_var2 = {2, 4, 5}
set_var3 = {3, 6, 8}
set_result = set_var1.difference(set_var2, set_var3)
print(set_result,set_var1)
{1} {1, 2, 3}
set_var1 = {1, 2, 3}     合集
set_var2 = {2, 4, 5}
set_var3 = {3, 6, 8}
set_var1.union(set_var2)
print(set_var1.union(set_var2))
{1, 2, 3, 4, 5}
set_var1 = {1, 2, 3}     交集
set_var2 = {2, 4, 5}
set_var3 = {3, 6, 8}
set_var1.intersection_update(set_var2)
print(set_var1)
{2}
set_var1 = {1, 2, 3}    添加一个元素
set_var1.add(9)
print(set_var1)
{1, 2, 3, 9}
set_var1 = {1, 2, 3}    删除指定一个元素
set_var1.remove(3)
print(set_var1)

七、数据类型转换

浮点型,字符串   =>   整型

int_var1 = int(1.1)
int_var2 = int("8")
print(int_var1,type(int_var1))
print(int_var2,type(int_var2))
1 <class 'int'>
8 <class 'int'>

整数,字符串    =>   浮点型

float_var1 = float(1)
float_var2 = float("8")
print(float_var1,type(float_var1))
print(float_var2,type(float_var2))
1.0 <class 'float'>
8.0 <class 'float'>

将二进制,八进制,16进制转化为10进制

int_var1 = int("0b100", base=2)  # 二进制变为十进制
int_var2 = int("0o100", base=8)   # 八进制变为十进制
int_var3 = int("0x100", base=16)  # 16进制变为十进制
print(int_var1, int_var2, int_var3)
4 64 256

字符串  =>    字节

字节     =>     字符串

bytes_var = bytes("培华",encoding="UTF-8")                    字符串  =>    字节
str_var = str(b'\xe5\x9f\xb9\xe5\x8d\x8e',encoding="UTF-8")    字节   =>   字符串
print(bytes_var)
print(str_var)
b'\xe5\x9f\xb9\xe5\x8d\x8e'
培华

 将ascii码转化为字符串

print(chr(52))
4

字符串转化为ascii码

print(ord("4"))
52

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值