1Collection1.1CollectionCollection是一个可变的无序容器。1.2定义x={1,2,3}#第一种方法,使用{}x=set([2,4,5])#第二种方法,使用强制类型转换1.3特点1.3.1Deterministicsimilar集合的确定性在数学中,集合是明确描述的,没有办法判断一个元素是否在集合中,具体来说,in或notin运算符不会得到确定的结果。1.3.2无序,因此无法通过下标访问。Subscriptable可以通过下标访问,这里是不可下标的。1.3.3相互关系没有重复元素。1.3.4支持的集合运算包括==、!=、判断子集、真子集、超集、真超集、交并、差、对称差。1.3.5可变对象可以通过添加和删除来改变集合本身。另外还有一个不可变集合frozenset:2字典2.1字典字典是可变的无序容器,每个值都有自己对应的键,是一个映射结构,本质上是一个以键为元素的集合。2.2定义使用{},key和value用:隔开,键值对用逗号隔开。x={'aa':1,'bb':2,'cc':3}2.3特点2.3.1Key对应value通过对应的key可以访问对应的value。2.3.2变量2.4用作函数参数deffunc(arg1,**arg2):print(arg1)print(arg2)func('a',a=1,b=2,c=3,d=4)3迭代器3.1迭代器迭代器可以作为next()的参数调用,不断返回下一个值。3.2可迭代对象可以直接作用于循环语句的对象,是inforfor循环之后的对象。判断一个对象是否为可迭代对象,可以使用isinstance()和Iterable。fromcollectionsimportIterableisinstance([1,2,3],Iterable)3.3使用iter()将可迭代对象转换为迭代器:4生成器4.1生成器生成器是一个函数,但是相对于普通函数,它返回的是迭代器。4.2特点生成器使用yield而不是return。此外,生成器具有惰性计算的特点。调用生成器时,不会立即执行,而是在调用每个元素时计算。4.3使用defgen():x=range(-1,8)foriinx:yieldi+2forxingen():print(x,end='')print()
