【python学习笔记】2.列表和元组

谁借莪1个温暖的怀抱¢ 2023-08-17 16:13 131阅读 0赞

# 第二章:列表和元组

序列中,每个元素都有个一个序号,序号以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 ““, line 1, in

IndexError: list index out of range

print edward[-1]

42

print edward[-2]

edward

print edward[-3]

Traceback (most recent call last):

File ““, line 1, in

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]

>

分片的步长[being:end:step],step表示遍历元素使用的步长,即每隔step个元素,step默认为1,

numbers[0:10:2]

[1, 3, 5, 7, 9]

step不可以为0,可以为负,表示从右到左提取元素

numbers[8:3:-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 ““, line 1, in

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)

>

转载于:https://www.cnblogs.com/vc60er/p/7226855.html

发表评论

表情:
评论列表 (有 0 条评论,131人围观)

还没有评论,来说两句吧...

相关阅读