python数据类型元组、列表、集合、字典相互嵌套

系统

Windows 10 专业工作站版22H2

软件

python-3.9.6-amd64.exe

拓展库:
jupyter==1.0.0
notebook==7.0.6

1.元组嵌套

1.1 元组嵌套元组

复制代码
try:
    tuple0 = ((1,2,3),(1,2,3),(1,2,3))
    print(tuple0,type(tuple0))
except:
    print('error')

((1, 2, 3), (1, 2, 3), (1, 2, 3)) <class 'tuple'>

1.2 元组嵌套列表

复制代码
try:
    tuple0 = ([1,2,3],[1,2,3],[1,2,3])
    print(tuple0,type(tuple0))
except:
    print('error')

([1, 2, 3], [1, 2, 3], [1, 2, 3]) <class 'tuple'>

1.3 元组嵌套集合

复制代码
try:
    tuple0 = ({1,2,3},{1,2,3},{1,2,3})
    print(tuple0,type(tuple0))
except:
    print('error')

({1, 2, 3}, {1, 2, 3}, {1, 2, 3}) <class 'tuple'>

1.4 元组嵌套字典

复制代码
try:
    tuple0 = ({'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3})
    print(tuple0,type(tuple0))
except:
    print('error')

({'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}) <class 'tuple'>

2 列表嵌套

2.1 列表嵌套元组

复制代码
try:
    list0 = [(1,2,3),(1,2,3),(1,2,3)]
    print(list0,type(list0))
except:
    print('error')

(1, 2, 3), (1, 2, 3), (1, 2, 3)\] \ ## 2.2 列表嵌套列表 try: list0 = [[1,2,3],[1,2,3],[1,2,3]] print(list0,type(list0)) except: print('error') \[\[1, 2, 3\], \[1, 2, 3\], \[1, 2, 3\]\] \ ## 2.3 列表嵌套集合 try: list0 = [{1,2,3},{1,2,3},{1,2,3}] print(list0,type(list0)) except: print('error') \[{1, 2, 3}, {1, 2, 3}, {1, 2, 3}\] \ ## 2.4 列表嵌套字典 try: list0 = [{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}] print(list0,type(list0)) except: print('error') \[{'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}, {'a': 1, 'b': 2, 'c': 3}\] \ # 3 集合嵌套 ## 3.1 集合嵌套元组 try: set0 = {(1,2,3),(1,2,3),(1,2,3)} print(set0,type(set0)) except: print('error') {(1, 2, 3)} \ ## 3.2 集合嵌套列表 try: set0 = {[1,2,3],[1,2,3],[1,2,3]} print(set0,type(set0)) except: print('error') error ## 3.3 集合嵌套集合 try: set0 = {{1,2,3},{1,2,3},{1,2,3}} print(set0,type(set0)) except: print('error') error ## 3.4 集合嵌套字典 try: set0 = {{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':1,'b':2,'c':3}} print(set0,type(set0)) except: print('error') error # 4 字典嵌套 ## 4.1 字典的键嵌套 ### 4.1.1 字典的键嵌套元组 try: dict0 = {(1,2,3):(1,2,3),(1,2,3):(2,3,4),(1,2,3):(3,4,5)} print(dict0,type(dict0)) dict0 = {(1,2,3):(3,4,5),(1,2,3):(2,3,4),(2,3,4):(1,2,3)} print(dict0,type(dict0)) except: print('error') {(1, 2, 3): (3, 4, 5)} \ {(1, 2, 3): (2, 3, 4), (2, 3, 4): (1, 2, 3)} \ ### 4.1.2 字典的键嵌套列表 try: dict0 = {[1,2,3]:(1,2,3),[1,2,3]:(1,2,3),[1,2,3]:(1,2,3)} print(dict0,type(dict0)) except: print('error') error ### 4.1.3 字典的键嵌套集合 try: dict0 = {{1,2,3}:(1,2,3),{1,2,3}:(1,2,3),{1,2,3}:(1,2,3)} print(dict0,type(dict0)) except: print('error') error ### 4.1.4 字典的键嵌套字典 try: dict0 = { {'a': 1, 'b': 2, 'c': 3}:(1,2,3), {'a': 1, 'b': 2, 'c': 3}:(1,2,3), {'a': 1, 'b': 2, 'c': 3}:(1,2,3)} print(dict0,type(dict0)) except: print('error') error ## 4.2 字典的值嵌套 ### 4.2.1 字典的值嵌套元组 try: dict0 = {'a':(1,2,3),'b':(1,2,3),'c':(1,2,3)} print(dict0,type(dict0)) except: print('error') {'a': (1, 2, 3), 'b': (1, 2, 3), 'c': (1, 2, 3)} \ ### 4.2.2 字典的值嵌套列表 try: dict0 = {'a':[1,2,3],'b':[1,2,3],'c':[1,2,3]} print(dict0,type(dict0)) except: print('error') {'a': \[1, 2, 3\], 'b': \[1, 2, 3\], 'c': \[1, 2, 3\]} \ ### 4.2.3 字典的值嵌套集合 try: dict0 = {'a':{1,2,3},'b':{1,2,3},'c':{1,2,3}} print(dict0,type(dict0)) except: print('error') {'a': {1, 2, 3}, 'b': {1, 2, 3}, 'c': {1, 2, 3}} \ ### 4.2.4 字典的值嵌套字典 try: dict0 = { 'a':{'a':1,'b':2,'c':3}, 'b':{'a':1,'b':2,'c':3}, 'c':{'a':1,'b':2,'c':3}} print(dict0,type(dict0)) except: print('error') {'a': {'a': 1, 'b': 2, 'c': 3}, 'b': {'a': 1, 'b': 2, 'c': 3}, 'c': {'a': 1, 'b': 2, 'c': 3}} \ # 5 总结 ## 5.1 文字总结 1.可变类型数据不能作为集合的元素和字典的键。 2.集合和字典自身的去重特性导致嵌套时的输入值可能不等于输出值。 ## 5.2 表格总结 | | 被嵌套的数据类型 |||| | | 元组 | 列表 | 集合 | 字典 | |------|------|-------|-------|-------| | 元组 | 保留输入 | 保留输入 | 保留输入 | 保留输入 | | 列表 | 保留输入 | 保留输入 | 保留输入 | 保留输入 | | 集合 | 去重输入 | error | error | error | | 字典的键 | 去重输入 | error | error | error | | 字典的值 | 保留输入 | 保留输入 | 保留输入 | 保留输入 | | 集合 | 相同元素仅保留一个 |||| | 字典的键 | 键相同时,后键值重写前键值。 ||||

相关推荐
m0_74870805几秒前
将Python Web应用部署到服务器(Docker + Nginx)
jvm·数据库·python
Dingdangcat865 分钟前
视杯视盘分割与青光眼检测_faster-rcnn_hrnetv2p-w32-1x_coco模型应用实践
python
喵手5 分钟前
Python爬虫实战:携程景点数据采集实战:从多页列表到结构化数据集(附SQLite持久化存储)!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·携程景点数据采集·sqlite存储采集数据
无垠的广袤6 分钟前
【VisionFive 2 Lite 单板计算机】边缘AI视觉应用部署:人脸检测
linux·人工智能·python·opencv·开发板
yuankoudaodaokou6 分钟前
突破大型工件测量瓶颈:思看科技在风电与船舶制造中的革新应用
python·科技·制造
Allen_LVyingbo13 分钟前
面向70B多模态医疗大模型预训练的工程落地(医疗大模型预训练扩展包)
人工智能·python·分类·知识图谱·健康医疗·迁移学习
Deng87234734814 分钟前
电脑使用 Gemini出了点问题解决办法
人工智能·python
我送炭你添花18 分钟前
Pelco KBD300A 模拟器:18. 按依赖顺序 + 复杂度由低到高逐步推进pytest单元测试
python·单元测试·log4j·pytest
程序员杰哥21 分钟前
如何写出高效的测试用例?
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
2301_8223776521 分钟前
数据分析师的Python工具箱
jvm·数据库·python