| 字符串(不可变类型) | 列表(可变类型) | 元组(不可变类型) | 字典(可变类型) | 集合(可变类型) |
特性 | 和列表类似,有下标索引,是可迭代对象 | 一种有序的集合 | 只读的列表 | 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__属性。