python-基础(二)- 数据结构 2-列表

python-基础(二)- 数据结构 2-列表

​ 本节主要讨论列表不同于元组和字符串的地方——列表是可变的,即可修改其内容。另外,列表有很多特有的方法。

一、函数 list

​ 鉴于不能像修改列表那样修改字符串,因此在有些情况下使用字符串来创建列表很有帮助。为此,可使用函数list

>>> list('Hello') 
['H', 'e', 'l', 'l', 'o']

请注意,可将任何序列(而不仅仅是字符串)作为list的参数。


提示

​ 要将字符列表(如前述代码中的字符列表)转换为字符串,可使用下面的表达式:

​ ‘’.join(somelist)

a=list("hello")
print(a)
b=['h', 'e', 'l', 'l', 'o']
c=''.join(b)
d='*'.join(b)
print(c)
print(d)

#结果:
['h', 'e', 'l', 'l', 'o']
hello
h*e*l*l*o

二、基本的列表操作

​ 可对列表执行所有的标准序列操作,如索引、切片、拼接和相乘,但列表的有趣之处在于它是可以修改的。本节将介绍一些修改列表的方式:给元素赋值、删除元素、给切片赋值以及使用列表的方法。(请注意,并非所有列表方法都会修改列表。)

1. 修改列表:给元素赋值

​ 修改列表很容易,只需使用第1章介绍的普通赋值语句即可,但不是使用类似于x = 2这样的赋值语句,而是使用索引表示法给特定位置的元素赋值,如x[1] = 2。

>>> x = [1, 1, 1] 
>>> x[1] = 2 
>>> x 
[1, 2, 1]

注意 :

​ 不能给不存在的元素赋值,因此如果列表的长度为2,就不能给索引为100的元素赋值。要这样做,列表的长度至少为101。


2.删除元素

​ 从列表中删除元素也很容易,只需使用del语句即可。

>>> names = ['Alice', 'Beth', 'Cecil', 'Dee-Dee', 'Earl'] 
>>> del names[2] 
>>> names 
['Alice', 'Beth', 'Dee-Dee', 'Earl']

​ 注意到Cecil彻底消失了,而列表的长度也从5变成了4。除用于删除列表元素外,del语句还可用于删除其他东西。你可将其用于字典(参见第4章)乃至变量,有关这方面的详细信息

3.给切片赋值

​ 切片是一项极其强大的功能,而能够给切片赋值让这项功能显得更加强大。

>>> name = list('Perl') 
>>> name 
['P', 'e', 'r', 'l'] 
>>> name[2:] = list('ar') 
>>> name 
['P', 'e', 'a', 'r']

​ 从上述代码可知,可同时给多个元素赋值。你可能认为,这有什么大不了的,分别给每个元素赋值不是一样的吗?确实如此,但通过使用切片赋值,可将切片替换为长度与其不同的序列。

>>> name = list('Perl') 
>>> name[1:] = list('ython') 
>>> name 
['P', 'y', 't', 'h', 'o', 'n']

​ 使用切片赋值还可在不替换原有元素的情况下插入新元素。

>>> numbers = [1, 5] 
>>> numbers[1:1] = [2, 3, 4] 
>>> numbers 
[1, 2, 3, 4, 5]

​ 在这里,我“替换”了一个空切片,相当于插入了一个序列。你可采取相反的措施来删除切片。

>>> numbers 
[1, 2, 3, 4, 5] 
>><
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值