1.列表
1.1列表的表示
列表用的是方括号[ ]表示
>>> family=['a','b','c','d']
>>> family
['a', 'b', 'c', 'd']
1.2切片
处理列表部分元素就是切片。切片用的是类似于[n1:n2],其中n1,n2是整数,可取正值也可取负值,例如,[0:3]是第一个、第二个、第三个元素,[-3:]是倒数第三个元素到最后一个元素,包括最后一个元素。
>>> family
['p', 'b', 'c', 'd']
>>> family[-3:]
['b', 'c', 'd']
>>> family[0:3]
['p', 'b', 'c']
1.3复制
两张图解释:
>>> class1_scores=['100','99','98','97']
>>> class2_scores=class1_scores
>>> class2_scores
['100', '99', '98', '97']
>>> class2_scores.append('95')
>>> class2_scores
['100', '99', '98', '97', '95']
>>> class1_scores
['100', '99', '98', '97', '95']
>>>
>>> class1_scores=['100','99','98','97']
>>> class2_scores=class1_scores[:]
>>> class2_scores
['100', '99', '98', '97']
>>> class2_scores.append('95')
>>> class2_scores
['100', '99', '98', '97', '95']
>>> class1_scores
['100', '99', '98', '97']
>>>
图一的操作是将两个列表指向同一个列表,图二是将元素放入想要复制到的新的列表中,因此图二的操作增加一个新元素不会影响到原来的class1_scores的内容。
2.元组
2.1元组的表示
元组看起来像列表,但是表示用的是圆括号(),列表用的是方括号[ ],而且元组一旦被定义,是不允许被修改的,尝试修改如下:
>>> family=('a','b','c','d')
>>> family
('a', 'b', 'c', 'd')
>>> family[0]='i'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
报错:tuple object does not support item assignment
列表的表示和修改操作如下:
>>> family=['a','b','c','d']
>>> family
['a', 'b', 'c', 'd']
>>> family[0]='p'
>>> family
['p', 'b', 'c', 'd']
是允许被修改的。
2.2元组元素如何改变
虽然元组的元素是不可以修改的,但是可以通过给存储元组的变量赋值的方式来改变,也就是要重新定义一个元组。
>>> fruit=('apple','orange')
>>> fruit
('apple', 'orange')
>>> fruit=('blakberry','strawberry')
>>> fruit
('blakberry', 'strawberry')