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(),查询字典中所有的键值对。

 

posted @ 2022-10-29 10:29  slowlydance2me  阅读(25)  评论(0编辑  收藏  举报