前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >python全栈开发《67.不同数据类型间的转换:列表集合元组的转换》

python全栈开发《67.不同数据类型间的转换:列表集合元组的转换》

作者头像
清菡
发布于 2024-11-28 13:05:31
发布于 2024-11-28 13:05:31
6500
代码可运行
举报
文章被收录于专栏:清菡软件测试清菡软件测试
运行总次数:0
代码可运行

列表、元组和集合间转换的函数

例1:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding:utf-8

a = [1,2,3]
b = (1,2,3)
c = {1,2,3}
print(tuple(a),set(a))
print(type(tuple(a)),type(set(a)))
print(tuple(a) is b)
print(set(a) is c)

运行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/change/bin/python /Users/llq/PycharmProjects/pythonlearn/change/change_list_tuple_set.py 
(1, 2, 3) {1, 2, 3}
<class 'tuple'> <class 'set'>
False
False

进程已结束,退出代码为 0

运行结果显示False,是因为a和b不是相同的内存地址。

例2:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# coding:utf-8

a = [1,2,3]
b = (1,2,3)
c = {1,2,3}
print(tuple(a),set(a))
print(type(tuple(a)),type(set(a)))
print(tuple(a) is b)
print(set(a) is c)

print(list(b),set(b))
print(list(c),tuple(c))

print(list(a))#运行结果:[1,2,3],没有任何的变化。

print(str(a),type(str(a)))#运行结果:'[1,2,3]'
print(str(b),type(str(b)))
print(str(c),type(str(c)))

print(list(str(a)))
print(tuple(str(b)))
print(set(str(c)))

_a = str(a)
_b = list(_a)
print(_b)

运行结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/Users/llq/PycharmProjects/pythonlearn/pythonlearn/change/bin/python /Users/llq/PycharmProjects/pythonlearn/change/change_list_tuple_set.py 
(1, 2, 3) {1, 2, 3}
<class 'tuple'> <class 'set'>
False
False
[1, 2, 3] {1, 2, 3}
[1, 2, 3] (1, 2, 3)
[1, 2, 3]
[1, 2, 3] <class 'str'>
(1, 2, 3) <class 'str'>
{1, 2, 3} <class 'str'>
['[', '1', ',', ' ', '2', ',', ' ', '3', ']']
('(', '1', ',', ' ', '2', ',', ' ', '3', ')')
{' ', '{', '1', '}', '2', '3', ','}
['[', '1', ',', ' ', '2', ',', ' ', '3', ']']

进程已结束,退出代码为 0

str可以转所有的类型。通过str直接将这三种类型进行转换之后,是一个不可逆的转换。print(list(str(a)))执行的时候,优先执行str函数,再执行list函数。相当于:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
_a = str(a)
_b = list(_a)
print(_b)

总结:如果函数内部又包裹了函数,优先执行内部的函数。一层一层往外去执行。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 清菡软件测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验