python Tips -----常用数据结构
常用数据结构
list[]
创建:
1.通过中括号括起已知的元素创建list mylist = ['orange', 'apple', 1,2,3.14];
2.通过中括号创建空list,然后用append()追加动态元素 mylist = []; mylist.append('orange');
3.通过list()方法创建空list mylist = list();
选取:
通过中括号加下对应下标选取,下标从0开始,-1为倒数第一个元素,以此类推
切片:
a[:] # 复制列表
a[0:] # 从索引为0的列表元素开始迭代列表至列表结束
a[1:] # 从索引为1的列表元素开始迭代列表至列表结束
a[:9] # 从索引为0的列表元素开始迭代列表至索引为8的列表元素,不包含索引为9的列表元素
a[3:5] # 从索引为3的列表元素开始迭代列表至索引为4的列表元素,不包含索引为5的列表元素
a[::1] # 从索引为0的列表元素开始索引列表,每次迭代索引值加1,直至列表结束
a[::2] # 从索引为0的列表元素开始索引列表,每次迭代索引值加2,直至列表结束
a[3:9:2] # 从索引为3的列表元素开始索引列表,每次迭代索引值加2,直至索引为8的列表元素,不包含索引为9的列表元素
a[-1] # 列表的最后一个元素
a[-2:] # 从列表的倒数第二个元素直至列表结束,即从索引值为-2的元素直至列表结束
a[:-1] # 从列表的第一个元素直至列表的倒数第二个元素结束,不包含最后一个列表元素
a[:-2] # 从列表的第一个元素直至列表的倒数第三个元素结束,不包含最后两个个列表元素
a[::-1] # 反转列表,从列表最后一个元素到列表的第一个元素
a[1::-1] # 从索引值为1的列表元素开始,逆向索引直列表开头
a[:-3:-1] # 从索引值为-1,逆向索引直索引为-2的元素结束,不包含索引为-3的元素
常用方法:
list.append(x),在列表的末尾添加一个元素。
list.insert(i, x),在给定的位置插入一个元素,第一个参数是要插入的元素的索引。
list.remove(x),移除列表中第一个值为 x 的元素,如果没有这样的元素,则抛出异常。
list.clear(),删除列表中所有的元素。
list.index(x),返回列表中第一个值为 x 的元素的从零开始的索引,如果没有这样的元素,则抛出异常。
list.count(x),返回元素 x 在列表中出现的次数。
list.reverse(),反转列表中的元素。
tuple() 不可修改
set{}
创建:
1.通过大括号括起已知的元素创建set myset = {'red','blue',2.71};
2.通过set()方法创建空set,注意不能用{}创建空set,这样创建的是空dict
3.然后用add()添加动态元素,而不是append: myset = set(); myset.add('yellow');
set常用方法:
set.remove(x),移除集合中值为 x 的元素,如果没有这样的元素,则抛出异常。
set.isdisjoint(set2),判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
set.issubset(set2),判断集合set是否包含于set2
set.issuperset(set2),判断集合set是否包含set2,issubset与issuperset是一对互逆操作。
dict{}
创建:
1.通过大括号括起键值对创建dict mydict = {'name':'tom','age':'24'};
2.通过dict()方法创建dict mydict = dict(name = 'tom',age = 24);
3.通过大括号创建空dict,然后通过中括号添加键值对 mydict = {}; mydict['tel'] = '1300000000';
选取:
需要已经知道键的名称,否则无法获取,除非遍历 mydict.get('tel');
dict常用方法:
dict.copy(),拷贝出一个新的字典。
dict.setdefault({'sex':'man'}),有则查,无则增。
dict.update({'sex':'male'}),有则改,无则增。
dict.pop('tel'),指定删除,参数必须要有需要删除的键。
dict.clear(),清空字典。
dict.keys(),查询字典中所有的键。
dict.values(),查询字典中所有的值。
dict.items(),查询字典中所有的键值对。
本文来自博客园,作者:slowlydance2me,转载请注明原文链接:https://www.cnblogs.com/slowlydance2me/p/16838197.html