Python 列表详解2

我们接着来看列表的一下内置方法。先定义一个列表,

l=['李星云','姬如雪','袁天罡']

首先来看按索引取值,这个我就不多讲了吧,前面讲基本数据类型的时候也讲过,可以正向取,索引从0开始,也可以反向取,索引就从-1开始。

l=['李星云','姬如雪','袁天罡']
print(l[0], l[-1])

而且列表不但可以按索引取值,也可以按索引改值。

l=['李星云','姬如雪','袁天罡']
l[1]='九天圣姬'
print(l)

这就是相当于改掉了l【1】的值。但是字符串就没办法按索引改值,因为字符串是不可变类型。

要注意,按索引改值必须是已经存在的索引才行如果这个索引不存在,我想给这个不存在的索引新增一个值可不可以呢?

比如我把l[1]改成l[3],运行看是什么效果。

l=['李星云','姬如雪','袁天罡']
l[3]='九天圣姬'
print(l)

直接报错,报的错误叫indexerror索引错误,索引值超出了范围。所以要注意不管是取值操作还是赋值操作,只要索引不存在就会报错。

如果我们要给列表添加新的值,就涉及到列表的另外一个功能了,叫appen追加。你想给l这个列表追加新的值,就直接写一个l点append。

看到Pycharm的提示我们就知道了,这个append要我们给它攒一个参数,比如我要给它加一个int类型5,然后打印l。

l=['李星云','姬如雪','袁天罡']
l.append(5)
print(l)

这样列表了就多了一个数字5。append这个功能只会在列表的末尾添加值,比如我再append一个6,列表最后就又多了一个6。

l=['李星云','姬如雪','袁天罡']
l.append(5)
l.append(6)
print(l)

如果你不想在列表后面加值,就想在列表的中间,这就不能叫追加了。这叫插入,这个功能叫insert。

用法也是一样,直接l点insert。这里要传2个参数, 第一个参数是索引,就是你要插入带什么位置,第二个参数就是你要插入的值。

假如我要在姬如雪后面插入一个李淳风,姬如雪的索引是1对吧,要插入它的后面,索引自然就是2了。

l=['李星云','姬如雪','袁天罡']
l.insert(2,'李淳风')
print(l)

打印结果就是李淳风在姬如雪后面。

但是现在我想把李淳风插到李星云前面,直接把索引改成0就可以了。

l=['李星云','姬如雪','袁天罡']
l.insert(0,'李淳风')
print(l)

如果我再写一个列表叫l2,把l2插入l1里面怎么办?

l1 = ['李星云', '姬如雪', '袁天罡']
l2 = ['梵音天', '妙成天', '玄净天']

如果用append,会是什么结果。打印下看看。

结果就是l2直接嵌套进l1里面了,这不是我们想要的结果。

按照我们之前学的知识,也是可以实现的,用for循环。

l1 = ['李星云', '姬如雪', '袁天罡']
l2 = ['梵音天', '妙成天', '玄净天']
for i in l2:
			l1.append(i)
print(l1)

这样也实现需求了。但是太麻烦。

在Python里面,一些常见的功能Python已经帮我们实现了,有现车的方法我们就没有必要再去重复造轮子了。

这个功能叫extend,用法和appe一样。后面这个参数叫可迭代对象。

l1 = ['李星云', '姬如雪', '袁天罡']
l2 = ['梵音天', '妙成天', '玄净天']
l1.extend(l2)
print(l1)

这样就同样实现了需求。

未经允许不得转载:445IT之家 » Python 列表详解2

赞 (0) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏