详解 Python 中的列表(List)类型

目录

5.1 列表赋值

5.2 删除元素

5.3 分片赋值

5.4 列表对象常用内置方法

追加列表元素

计数

合并列表

元素索引

插入元素

pop 

remove 

reverse

sort


Python 的列表(list)对象是最常⽤的序列 (Sequence)。与字符串是不可变序列不同,列表是可变的。可通过对偏移量进⾏修改和读取。


5.1 列表赋值

列表可通过索引对其对应的元素进⾏赋值,从⽽改变列表的内容,如:
 

>>> a = [2, 2, 2]
>>> a[1] = 1
>>> print(a)
[2, 1, 2]

通过上述代码的运⾏,我们可以看到列表确实是可以改变的。


5.2 删除元素

使⽤ del 语句可以删除列表中的元素,如:
 

>>> a = [2, 2, 2]
>>> del a[1]
>>> print(a)
[2, 2]

5.3 分片赋值

分⽚赋值可以⼀次为多个元素赋值,并且不⽤考虑原列表的长度是否和新的列表长度⼀直,如:

>>> name = list('Python')
>>> print(name)
['P', 'y', 't', 'h', 'o', 'n']
>>> name[2:] = list('data')
>>> print(name)
['P', 'y', 'd', 'a', 't', 'a']

上述代码中的 list 函数是 Python 内置函数,其作⽤是将字符串转换为列表。运⾏结果显⽰,通过分⽚赋值,将原有列表 [’P’, ’y’, ’t’, ’h’, ’o’, ’n’],修改为 [’P’, ’y’, ’d’, ’a’, ’t’, ’a’]。分⽚赋值还可以⽤来插⼊元素,如:

>>> name = list('Python')
>>> name[1:1] = list('--')
>>> print(name)
['P', '-', '-', 'y', 't', 'h', 'o', 'n']

结果显⽰将原有列表 [’P’, ’y’, ’t’, ’h’, ’o’, ’n’],修改为 [’P’, ’-’, ’-’, ’y’, ’d’, ’a’, ’t’, ’a’]。


5.4 列表对象常用内置方法

追加列表元素

  • 列表提供了在列表尾部追加新对象的⽅法 append。
>>> code = [1, 2, 3]
>>> code.append(4)
>>> print(code)
[1, 2, 3, 4]

计数

count ⽅法统计指定元素在列表中出现的次数,如:

>>> code = ['to', 'be', 'or', 'not', 'to', 'be']
>>> print(code.count('to'))
2

以上代码将统计出列表中‘to’元素出现的次数,结果为 2。


合并列表

extend ⽅法在列表的末尾⼀次性追加另⼀个序列中的多个值,如:

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)

以上代码将把 b 列表追加到 a 列表中,打印出的 a 列表的值为 [1, 2, 3, 4, 5, 6]。和序列加运算不同, extend ⽅法将改变原有列表的内容,⽽加运算却不会。例如:

b = [4, 5, 6]
b + [7, 8, 9]
print(b)

上述代码结果显⽰为 [4, 5, 6], b 列表的内容并没有改变。

元素索引

index ⽅法⽤于从列表中找出指定值第⼀次匹配的索引值。例如:

a = [1, 2, 3, 3, 2, 1]
print(a.index(1))

以上代码运⾏结果为 0,即第⼀个 1 出现的索引为 0。


插入元素

insert ⽅法⽤于将对象插⼊到列表中,例如:

a = [1, 2, 3]
a.insert(2, 2.5)
print(a)

运⾏结果为 [1, 2, 2.5, 3], insert ⽅法的两个参数值很好理解,第⼀个参数为在哪个元素后插⼊,表⽰位置,第⼆个参数为插⼊的内容。

pop 

pop ⽅法会移除列表中的⼀个元素,默认为最后⼀个,和 append ⽅法刚好相反,并且返回该元素的值。例如:

a = [1, 2, 3]
print(a.pop())
print(a)

运⾏结果为 3 和 [1, 2],当然, pop ⽅法也可以指定移除某个索引的元素。

remove 

remove ⽅法⽤于移除列表中某个值的第⼀个匹配项:

code = ['to', 'be', 'or', 'not', 'to', 'be']
print(code.remove('or'))
print(code)

运⾏结果为 None 和 [’to’, ’be’, ’not’, ’to’, ’be’]。这说明 remove ⽅法并不返回匹配到的内容。

reverse

reverse ⽅法将倒序排列列表元素:

a = [1, 2, 3]
a.reverse()
print(a)

运⾏结果为 [3, 2, 1]。

sort

sort ⽅法⽤于对列表排序,如:

a = [1, 3, 4, 8, 6, 2]
a.sort()
print(a)

运⾏结果为: [1, 2, 3, 4, 6, 8]。需要注意的是, sort ⽅法没有返回值,并且改变列表的内容,如果你不但要排序,⽽且还要保持原有数据的内容,解决的⽅法之⼀是将原有内容赋值到另外⼀个变量中保存。


 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值