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
字典的值 保留输入 保留输入 保留输入 保留输入
集合 相同元素仅保留一个
字典的键 键相同时,后键值重写前键值。
相关推荐
tryCbest3 分钟前
Python 文件操作
服务器·python
涛声依旧-底层原理研究所24 分钟前
Agent 长任务可靠性设计:实现暂停、恢复、续跑与崩溃重启的完整方案
人工智能·python·系统架构
AC赳赳老秦31 分钟前
防火墙规则批量配置实战:OpenClaw 自动生成模板、批量下发与合规性校验全解析
java·开发语言·人工智能·python·github·php·openclaw
小小编程路1 小时前
如何优化while循环的性能?
python
lzqrzpt2 小时前
LED驱动电源选型标准与工程应用技术要点解析
python·单片机·嵌入式硬件·物联网
Maiko Star2 小时前
Python核心语法——函数
开发语言·python
linzᅟᅠ2 小时前
README
人工智能·python
瓶中怪3 小时前
ROS2 机器人软件系统
linux·c++·python·ubuntu·vmware·ros2·机器人软件开发
满怀冰雪3 小时前
22_Runnable接口源码拆解_LCEL管道语法背后_invoke_stream_batch究竟做了什么
python·batch
大气的小蜜蜂3 小时前
基于Python+Django的健身房管理系统实现:核心亮点全流程解析
开发语言·python·django