素数杨辉三角封装结构和集合操作(16)——集合及操作
Posted omgasw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了素数杨辉三角封装结构和集合操作(16)——集合及操作相关的知识,希望对你有一定的参考价值。
集set
可变的、无序的、不重复的元素的集合
set定义
s1=set() ##定义空set type(s1) set s2={} ##不是set而是字典 type(s2) dict s3={1,2,3} ##非空set可以用此写法定义 type(s3) set s4={‘a‘:1,‘b‘:2} ##字典需要键对定义 type(s4) dict s5=set(range(5)) s5 {0, 1, 2, 3, 4} s6={‘abc‘,2,3,3,‘abc‘,(1,2,3),(2,3),(2,3)} ##set元素无法重复,set是比较元素的hash值 s6 {(1, 2, 3), (2, 3), 2, 3, ‘abc‘} s6[1:] ##set是无序集合,没有索引概念,无法支持索引切片 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-46-c11924d6da50> in <module> ----> 1 s6[1:] TypeError: ‘set‘ object is not subscriptable list(s6) [2, 3, ‘abc‘, (1, 2, 3), (2, 3)] list(s6)[1:] ##可以以列表方式切片 [3, ‘abc‘, (1, 2, 3), (2, 3)] s7={1,‘abc‘,(1,2),[],(1,[2,3]),None,True} ##set不支持不可hash类型或嵌套不可hash类型的元素,大部分可变序列都为不可hash类型 --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-52-15199fdfbfbe> in <module> ----> 1 s7={1,‘abc‘,(1,2),[],(1,[2,3]),None,True} TypeError: unhashable type: ‘list‘ hash([],bytearray(),{},{1}) --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-54-5a006b60c685> in <module> ----> 1 hash([],bytearray(),{},{1}) TypeError: hash() takes exactly one argument (4 given)
set的元素
set的元素要求必须可以hash
元素不可以使用索引
set可以迭代
以上是关于素数杨辉三角封装结构和集合操作(16)——集合及操作的主要内容,如果未能解决你的问题,请参考以下文章
大数据技术之_16_Scala学习_08_数据结构(下)-集合操作+模式匹配