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) <class 'list'>

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] <class 'list'>

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} <class 'list'>

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} <class 'list'>

3 集合嵌套

3.1 集合嵌套元组

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

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

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)} <class 'dict'>

{(1, 2, 3): (2, 3, 4), (2, 3, 4): (1, 2, 3)} <class 'dict'>

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)} <class 'dict'>

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} <class 'dict'>

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}} <class 'dict'>

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}} <class 'dict'>

5 总结

5.1 文字总结

1.可变类型数据不能作为集合的元素和字典的键。

2.集合和字典自身的去重特性导致嵌套时的输入值可能不等于输出值。

5.2 表格总结

| | 被嵌套的数据类型 ||||

元组 列表 集合 字典
元组 保留输入 保留输入 保留输入 保留输入
列表 保留输入 保留输入 保留输入 保留输入
集合 去重输入 error error error
字典的键 去重输入 error error error
字典的值 保留输入 保留输入 保留输入 保留输入
集合 相同元素仅保留一个
字典的键 键相同时,后键值重写前键值。
相关推荐
简不变几秒前
将components下的文件夹复制到别一个文件夹下,并重新生成CMakelist.txt文件
python
AC赳赳老秦38 分钟前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
databook1 小时前
如何对稀疏数据的场景进行分析
python·数据挖掘·数据分析
Java&Develop2 小时前
DeltaFStation 宝塔 Linux 部署教程
python
小柯南敲键盘2 小时前
跨境电商图片翻译工具推荐:批量AI翻译+视频字幕+智能抠图
人工智能·python·音视频
北斗落凡尘2 小时前
LangGraph 入门实战(8)--绑定工具
python·langchain
ningmengjing_2 小时前
MCP 通讯方式与实现指南
python·agent·mcp
淼澄研学2 小时前
Kimi API黑产倒卖技术解析与Python合规接入指南
开发语言·网络·python
何以解忧,唯有..3 小时前
Python 元组(tuple)详解:使用、遍历与排序
开发语言·python
KANGBboy3 小时前
Python eval安全隐患
开发语言·python