【python学习笔记】2.列表和元组
# 第二章:列表和元组
序列中,每个元素都有个一个序号,序号以0开始,最后一个元素序号为-1,倒数第二个-2
序列类型包括,列表,元组,字符串,unicode字符串,buffer, xrange
列表可以修改,元组不可以修改,元组可以作为字典的key,列表不可以
列表中的元素可以是各种类型,各元素通过逗号分隔,写在方括号中
edward=[“edward”, 42]
print edward
[‘edward’, 42]
>
print edward[0]
edward
print edward[1]
42
print edward[2]
Traceback (most recent call last):
File “
IndexError: list index out of range
print edward[-1]
42
print edward[-2]
edward
print edward[-3]
Traceback (most recent call last):
File “
IndexError: list index out of range
使用索引访问序列中的一个元素
使用分片访问一定范围内的元素,通过冒号分隔的两个索引来获取分片[begin,end],内容包含begin到end之间的元素,不包含end所在位置的元素,
如果end大于最大的索引号,则返回包含最末尾的元素为止
如果end小于begin,返回空分片
如果end缺失,则返回begin之后剩余所有的元素,包含begin位置
如果begin缺失,则返回end之前的所有的元素
如果begin,end都缺失,返回所有元素
numbers=[1,2,3,4,5,6,7,8,9,10]
numbers[3:6]
[4, 5, 6]
>
numbers[7:12]
[8, 9, 10]
numbers[7:4]
[]
numbers[7:]
[8, 9, 10]
numbers[:3]
[1, 2, 3]
numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>
分片的步长[beingstep],step表示遍历元素使用的步长,即每隔step个元素,step默认为1,
numbers[0
2]
[1, 3, 5, 7, 9]
step不可以为0,可以为负,表示从右到左提取元素
numbers[8
-1]
[9, 8, 7, 6, 5]
>
序列相加:使用加号,相同类型的序列才可以相加
c=[1,2,3]
d=[“a”, “b”, “c”]
c+d
[1, 2, 3, ‘a’, ‘b’, ‘c’]
e=”helloworld”
c+e
Traceback (most recent call last):
File “
TypeError: can only concatenate list (not “str”) to list
>
序列乘法:数字x可以序列,表示原来的序列重复x次
“python”*3
‘pythonpythonpython’
>
None:表示空值,但是占有一个元素的位置
[]
[]
[None]
[None]
>
查找:in
1 in numbers
True
122 in numbers
False
>
长度:最小最大值
len(numbers)
10
max(numbers)
10
min(numbers)
1
>
list:将字符串转为序列
list(“helloworld”)
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’]
修改一元素
l[4:]=list(“cn”)
l
[‘h’, ‘E’, ‘l’, ‘l’, ‘c’, ‘n’]
>
删除元素:del
del l[1]
l
[‘h’, ‘l’, ‘l’, ‘o’, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’]
>
修改多个元素
l[4:]=list(“cn”)
l
[‘h’, ‘l’, ‘l’, ‘o’, ‘c’, ‘n’]
>
插入元素
l
[‘h’, ‘l’, ‘l’, ‘o’, ‘c’, ‘n’]
l[1:1]=”e”
l
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘c’, ‘n’]
>
l[5:5]=”, world”
l
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘,’, ‘ ‘, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’, ‘c’, ‘n’]
>
删除多个元素
l[-2:]=[]
l
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘,’, ‘ ‘, ‘w’, ‘o’, ‘r’, ‘l’, ‘d’]
>
del l[-5:]
l
[‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘,’, ‘ ‘]
>
列表的常用方法
apend:追加新元素
lst
[1, 2, 3]
lst.append(4)
lst
[1, 2, 3, 4]
count:统计元素出现的次数
lst.count(3)
1
>
extend:追加一个列表
lst
[1, 2, 3, 4]
a
[5, 6, 7]
lst.extend(a)
lst
[1, 2, 3, 4, 5, 6, 7]
index:查找第一个次出现的位置
lst.index(3)
2
insert:插入元素
pop:移除一个元素(默认是最后一个),并且返回该元素的值
lst.pop()
7
remove:移除第一个匹配元素,改变列表,无返回值
lst.remove(2)
lst
[1, 3, 4, 5, 6]
>
reverse:反转列表,改变列表,无返回值
lst.reverse()
lst
[6, 5, 4, 3, 1]
>
sort:排序,改变列表,无返回值
lst.sort()
lst
[1, 3, 4, 5, 6]
>
sort(key=cmp,reverse=False)的参数:key比较函数,reverse反向排序
—————————————————————
## 元组:不可改变的序列
以逗号分隔的包含在圆括号内的值,称为元组,圆括号可以省略
a=1,2,3,4,
a
(1, 2, 3, 4)
>
包含一个元素的元组,需要在元素后添加逗号
a=1,
a
(1,)
a=(1,)
a
(1,)
3*(40+2,)
(42, 42, 42)
>
tuple:将列转为元组
l
[1, 2, 3, 4]
tuple(l)
(1, 2, 3, 4)
>
转载于//www.cnblogs.com/vc60er/p/7226855.html
还没有评论,来说两句吧...