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
字典的值 保留输入 保留输入 保留输入 保留输入
集合 相同元素仅保留一个
字典的键 键相同时,后键值重写前键值。
相关推荐
copyer_xyf3 分钟前
Agent Tool 调用
后端·python·agent
Amo Xiang10 分钟前
SpiderDemo 第5题:OB混淆实战 —— 反调试绕过与 signature 签名还原
python·js逆向·爬虫逆向·反调试·spiderdemo·ob混淆
copyer_xyf12 分钟前
Agent 结构化输出
后端·python·agent
FBI HackerHarry浩21 分钟前
Ollama如何安装到D盘
python·ai
DXM05211 小时前
第13期|遥感语义分割模型:U-Net核心原理+遥感落地优势
人工智能·python·深度学习·目标检测·随机森林·机器学习·支持向量机
码来的小朋友1 小时前
[python] 我开发了一个有20个关卡随机地图的迷宫游戏
python·游戏·pygame
夏天测1 小时前
微信小程序自动化漏洞挖掘流水线:从缓存提取到密钥验证全流程实战
python·网络安全·微信小程序·漏洞挖掘
叫我:松哥1 小时前
基于Python的共享单车租赁数据分析与预测系统,技术栈flask+boostrap+随机森林+XGBoost
人工智能·python·深度学习·算法·随机森林·数据分析·flask
Li#2 小时前
web端电商项目自动下单发货评价晒图需要用到的能力
python·自动化
雨辰AI2 小时前
从零搭建大模型本地运行环境|Python+CUDA 基础配置避坑大全
大数据·开发语言·人工智能·python·ai·ai编程·ai写作