当前位置: 首页 > article >正文

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

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

b8e9c352b6a95e039b536409b3293746.png

例1:

# 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)

运行结果:

/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:

# 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)

运行结果:

/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函数。相当于:

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

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


http://www.kler.cn/a/417617.html

相关文章:

  • 数据结构 (16)特殊矩阵的压缩存储
  • 基于DHCP,ACL的通信
  • DataX实战|使用Python 构建简易的DataX数据血缘工具(一)
  • 前端入门指南:模块打包器是什么?模块打包器的工作原理与实践
  • [CTF/网络安全] 攻防世界 upload1 解题详析
  • 爬取boss直聘上海市人工智能招聘信息+LDA主题建模
  • 【Leecode】Leecode刷题之路第66天之加一
  • Maven CMD命令
  • 共享售卖机语音芯片方案选型:WTN6020引领智能化交互新风尚
  • 【Ant Design Pro】1. config 配置
  • 实战ansible-playbook:Ansible Vault加密敏感数据(三)
  • 田忌赛马五局三胜问题matlab代码
  • 大模型训练核心技术RLHF
  • 关于扩散方程的解
  • 命令行应用开发初学者指南:脚手架篇、UI 库和交互工具
  • 【AI】Jetson Nano烧写SD卡镜像:Ubuntu20.04
  • Vue 2.0->3.0学习笔记(Vue 3 (五)- 新的组件)
  • 本地学习axios源码-如何在本地打印axios里面的信息
  • 如何构建一个可扩展、全球可访问的 GenAI 架构?
  • 回调函数知识点
  • python股票数据分析(Pandas)练习
  • IDEA Windows\Linux 快捷键
  • BP插件的首个Demo
  • transformers bert-base-uncased情感分析
  • jdk8没有Files.readString()
  • Refit 使用详解