10 字符串 列表 元组 字典 集合总结
1 可变和不可变
1.1 定义
不可变: 对象所指向的内存中的值是不可以改变
可变的: 对象所指向的内存中的值是可以改变
1.2 类型
不可变的类型: int str float tuple frozenset()
可变类型: 字典dict 列表list 集合set
set1 = {3, 5, 6, 8}
print(set1, id(set1))
set1.discard(5)
print(set1, id(set1))
set1 = {3, 5, 6, 8}
fset = frozenset(set1)
print(fset, id(fset))
fset = frozenset({3, 5, 6, 8})
print(fset, id(fset))
2 set与frozenset的区别
- set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素.
集合对象还支持union(联合), intersection(交集),difference(差集)和sysmmetric
difference(对称差集)等数学运算。不支持索引、切片等序列操作,但仍支持成员关系运算符in-not in、推导式等操作。
- frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。
3 类型转换
类型转换
str() int() list() dict() set() tuple()
str ----> int,list,set,tuple
list ----> set() ,tuple() ,可以转成字典 [(key,value),(key,value),(...)]
tuple ----> list, set ---->list只是将key保存在list中,dict---->list
4 用法
4.1 str 字符串操作
"""
str---->大小写相关的转换: capitalize(),title(),upper(), lower(),
str---->查找相关的转换: find(),lfind(),rfind(),index(),lindex(),rindex()
str---->替换相关的转换: replace()
str---->编码 译码相关: encode(),decode()
str---->判断型函数: startswith(), endswith(), isalpha(), istitle()
isdigit(), isnumeric(), isspace(), isupper()
str---->其他函数: join(), split(), count(), strip(),
"""
4.2 list 列表操作
"""
list---->通用操作: “+”, “*”, in, not in, max, min, sum
list---->增加元素: append(), extend(), insert()
list---->删除元素: pop(), remove(), del, clear()
list---->查找元素: index(), count(), enumerate()
list---->列表排序: reverse(), sort(), sort(reverse = True), sorted(list1)
"""
4.3 dict 字典操作
"""
dict---->查找元素: 1 通过dict[key])查找 2 dict2.get(key[, default])
dict---->删除元素: 2 del dict[key] 2 dict.pop(key[, default]) 3 dict.popitem() 删除键值对
dict---->内置函数: update()合并操作 fromkeys(seq,[default]列表转字典
dict---->其他函数: items() values() keys()
"""
4.4 set 集合操作
"""
set---->增加元素: add(), update()
set---->删除元素: remove(), discard(), pop(), clear()
set---->符号操作: - : 差集 相当于difference()
& : 交集 相当于intersection()
| : 并集 相当于union()
^ : 对称差集
"""