1.1元组
【理解】:固定长度,不可变对象序列,逗号分隔,圆括号
【元组生成】
赋值方式:Tup = 2,3,4
Tuple函数转化:tup = tuple([2,3,4,5])
【元组的操作】
元组内部可变对象的修改:
+连接元组生成更长的元组
元组的拆包(赋值变量进行拆包):普通拆包,嵌套拆包,*rest位置拆包
【元组的方法】
count方法: a.count(2)
1.2列表
**【理解】**可变长度,可修改内容,[ ]表示
【列表创建】
赋值:a_list = [2,3,4]
List定义和转化:b_list = list(tuple)
Range等迭代器:gen = range(10)
【列表操作】
1.普通操作
增加:b_list.append(‘1’)
删除:b_list.pop(‘1’)
插入:b_list.insert(1,’red’)
移除:b_list.remove(‘f00’)
2.复杂操作
连接:+号连接,extend方法扩展列表(比+号方法更好)
排序:sort方法,对数字进行升序,对字符串等采用key=len进行排序
切片:sep[1:2], sep[:2] ,sep[3:],sep[-4:],sep[-6:-2],start索引含,end索引不含,个数为end-start
Enumerate函数遍历:返回[I,v]序列
Sorted函数:进行排序并返回
Zip函数:元素配对成元组构成列表;长度由最短的序列决定
Reversed生成器函数:倒序排列,需要使用list进行实例化或for循环,即list(reversed(range(10))
Remove,sort函数都不返回值,返回值为Nonetype类型
Sort函数与sorted函数区别:sort函数只排序不返回,sorted函数排序并返回值
1.3字典
**【理解】**哈希表/关联数组;键值对集合;{ };逗号分隔
【创建】
普通创建:d1 ={‘a’:’somevalue’,’b’:[1,2,3,4]}
从序列生成:mapping[key]= value+zip(key,value)/mapping = dict(zip(key,value))
【字典的操作】
删除:del/pop,del删除不返回值,pop删除后返回删除元素值
索引:d1[key];list(d1.keys()),list(d1.values())
字典的合并:d1.update(d2)
Set函数:判断是否存在,否则取默认值或NONE, value = some_dict.get(key.default_value)
Pop函数:判断是否存在,否则取默认值或抛出异常,value = some_dict.pop(key.default_value)
Setdefault函数:by_letter.setdefault(letter,[]).append(word)
Defaultdict函数:来自defaultdict包by_letter = defaultdict(list)
有效字典键:hash(a)验证是否可哈希化,不能则不可以作为键
元组只要内部元素可用哈希化,则它自己也可以哈希化
1.4集合
**【概念】**无序;元素唯一;容器;像字典只有键没有值;{ }
【创建方式】
Set函数:a = set([2,3,4,5,6])
普通创建:a = {1,2,3,4}
【集合的操作】
求并集:a.union(b)
求交集:a.intersection(b)
a.add(x) a.clear() a.remove(x) a.pop(x)
a.update(b) a.intersection_update(b) a.difference(b) a.difference_update(b) a.symmetric_difference(b) a.symmetric_difference_update(b)
a.issubset(b) a.issuperset(b) a.isdisjoint(b)
集合的表示符号
a|b a|=b a&b a&=b a-b a-=b a^b
a^=b
如下图: