|
字符串(不可变类型) |
列表(可变类型) |
元组(不可变类型) |
字典(可变类型) |
集合(可变类型) |
特性 |
和列表类似,有下标索引,是可迭代对象 |
一种有序的集合 |
只读的列表 |
python中唯一的键值关系映射集合。键唯一且为不可变类型 |
set内的元素一定是不可变数据类型,且自带去重 |
创建 |
s=str(); s="abc"; |
li=[1,]; li=list((1,2,3)); |
tu=(1,); tu=tuple([1,2,3]); |
dic={1:"a",2:"b"}; dic=dict(); |
s={1,2,3}; s=set([1,2,3]); |
查询 |
s[1:7:2]; s.index('a',1,6); s.find('a',1,6);
"a" in s
s.count("elemente")
len(s)
|
li[index]; li[1:7:2]; li.index["elemente"]; li.count("elemente"); len(li); "elemente" in li |
tu[index]; tu[1:7:2]; tu.index["elemente"]; tu.count("elemente"); len(tu); "elemente" in tu |
dic["key"]; dic.get(key); #找不到返回默认值(None,可修改) dic.keys(); #Iterable dic.values(); #Iterable
"key" in dic;
len(dic)
|
s.issubset(s1); #等同s<s1 s.issuperset(s1); #等同s>s1 s.isdisjoint(s1); #s和s1有没有交集
"elemente" in s
len(s)
|
增加 |
|
li.insert(index,"elemente"); li.append("elemente"); li.extend([1,2,3]); |
|
dic["key"]="value"; dic.setdefault(key,value); dic.update(dic2) |
s.add("element"); |
删除 |
li.pop(index); li.remove("element"); del li[index]; |
|
dic.pop("key"); del dic["key"]; dic.popitem();#随机删除 |
s.remove("element"); s.discard("element");#删除不存在的元素也不会报错 s.pop() #随机删除 |
修改 |
li["element"]=new_element; |
|
dic["key"]="value" |
|
其他 |
strip # split join #合并容量里的元素,返回字符串 %s %d %f + format format_map replace count capitalize#首字符大写 lower upper center、ljust、rjust#对齐 zfill #用0填充 ord("A") chr(65) |
a=a+b #合并 li.sort() li.reverse() copy extend |
|
fromkeys #快速生成字典 items copy |
intersection & #交集 intersection_update union | #并集 update difference - #差集 A有,B没有的 difference_update symmetric_difference ^ #对称差集: A和B互相不在的都打印
|
总结:
1. 字符串和容器都可以计算长度len(), 检查某个元素是否属于(in)
2. 只有列表和字典有copy()。
3. 元组和字符串不可变,其他3个都可变。
4.容器和字符串的对象,都没用__dict__属性。