python学习笔记2.2_python数据结构(元组、列表与字典)
一、元组
(1)创建元组
1)直接创建:tup=4,5,6
或tup=((4,5,6),(7,8))
2)tuple()函数,由列表创建:tup=tuple([4,0,2])#用tuple()函数直接由列表生成元组
(2)常用方法
tup[1].append(3)#在元组的第1个元素添加3;
tup.count(2)#统计元组中2出现的次数;
* rest
In [29]: values = 1, 2, 3, 4, 5
In [30]: a, b, *rest = values
In [31]: a, b
Out[31]: (1, 2)
In [32]: rest
Out[32]: [3, 4, 5]
二、列表
(1)创建列表
1)直接创建:a_list=[2,3,4,none]
2) list()函数,由元组创建:
In [36]: a_list = [2, 3, 7, None]
In [37]: tup = ('foo', 'bar', 'baz')
In [38]: b_list = list(tup)
In [39]: b_list
Out[39]: ['foo', 'bar', 'baz']
In [40]: b_list[1] = 'peekaboo'
In [41]: b_list
Out[41]: ['foo', 'peekaboo', 'baz']
(2)常用方法
.append('red'):在列表末尾添加元素
.insert(1,'red'):在列表特定的位置插入元素
.pop(1):移除并返回列表指定位置的元素
.remove('red')去除某个值,remove会先寻找第一个值并去除;
.sort(key=len)
sorted([1,2,4,3]):可以从任意序列的元素返回一个新的排好序的列表;
(前提已排序)bisect.bisect(c,2)可以找到插入值后应该插入的位置.
(前提已排序)
bisect.insort(c,6)是向这个位置插入值.
enumerate函数:
for i,value in enumerate(collection):
#do something with value
相当于:
i=0
for value in collection:
#do something with value
i+=1
zip函数:可以将多个列表、元组或其他序列成对组合成一个元组列表:
In [89]: seq1 = ['foo', 'bar', 'baz']
In [90]: seq2 = ['one', 'two', 'three']
In [91]: zipped = zip(seq1, seq2)
In [92]: list(zipped)
Out[92]: [('foo', 'one'), ('bar', 'two'), ('baz', 'three')]
reversed函数:可以从后向前迭代一个序列:
In [100]: list(reversed(range(10))) Out[100]: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
要记住reversed是一个生成器(后面详细介绍),只有实体化(即列表或for循环)之后才能创建翻转的序列。
用(not)in可以检查列表是否包含某个值:将一个列表原地排序(不创建新的对象)
In [55]: 'dwarf' in b_list
Out[55]: True
三、字典
(1)创建字典
1)直接创建:d1 = {'a' : 'some value', 'b' : [1, 2, 3, 4]}
2)用序列创建:
(2)常用方法






浙公网安备 33010602011771号