列表可以作为集合的元素吗?集合可以作为列表的元素吗?元组可以作为集合的元素吗?字典可以作为集合的元素吗?

1、列表可以作为集合的元素吗?

2、集合可以作为列表的元素吗?

3、元组可以作为集合的元素吗?

4、集合可以作为元组的元素吗?

5、字典可以作为集合的元素吗?

对于上面这五个问题,是不是不太懂呢?接下来我会一一解答。

一、第一个问题:

首先我们需要知道什么可以作为集合的元素。集合对象是一组无序排列***可哈希***的值,集合成员可以做字典中的键。那么可哈希与不可哈希是什么意思呢?
简要的说可哈希的数据类型,即不可变的数据结构(字符串str、元组tuple、对象集objects);同理,不可哈希的数据类型,即可变的数据结构 (集合set,列表list,字典dict)
>>> set1={[1,2,3,4],4,5,6}c
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    set1={[1,2,3,4],4,5,6}
TypeError: unhashable type: 'list'

注:unhashable是“不可哈希的”的意思

可见,报错了。所以列表不可以作为集合的元素.

二、第二个问题:

那么列表的元素可以有哪些呢?列表没有长度限制,元素类型可以不同,使用非常灵活。看例子:
>>> list1=[{1,2,3,4},4,5,6]
>>> list1
[{1, 2, 3, 4}, 4, 5, 6]
>>>
说明集合可以作为列表的元素。

三、第三个问题:

在第一个小问中说到,元组(tuple)是不可变的数据结构(可哈希的数据类型),因此,是可以作为集合元素的。
>>> set2={(1,2,3,4,5),6,7,8}
>>> set2
{8, (1, 2, 3, 4, 5), 6, 7}
>>> 

四、第四个问题:

元组与列表类似,不同之处在于元组的元素不能修改具体用法我这里不在赘述。
>>> tuple1=({1,2,3,4,5},89,5)
>>> tuple1
({1, 2, 3, 4, 5}, 89, 5)
>>> 
所以集合可以作为元组的元素。

五、第五个问题:

因为字典是可变的数据结构(不可哈希),所以自然也不能作为集合的元素。
>>> set1={{'Name': 'Runoob', 'Age': 7, 'Class': 'First'},4,5,6}
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    set1={{'Name': 'Runoob', 'Age': 7, 'Class': 'First'},4,5,6}
TypeError: unhashable type: 'dict'
>>> 

附上一张表:

在这里插入图片描述
观看顺序:ex:字符串可以作为列表的元素 列表可以作为列表的元素…

如果有错误的地方,还请指正,大家一起学习。
  • 109
    点赞
  • 251
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值