python list 链表的几个注意点

本文介绍了Python列表的基础操作,包括负数索引、分片、扩展与追加的区别、元素搜索及pop方法的使用。通过实例演示了如何高效地管理和操作列表。

1.负数索引从 list 的尾部开始向前计数来存取元素。任何一个非空的 list 最后一个元素总是 li[-1]。

>>> li = ["a", "b", "mpilgrim", "z", "example"]

>>> li[-1]
'example'
>>> li[-3]
'mpilgrim'

可以这样理解:li[-n] == li[len(li) - n]


2.list 的分片 (slice)

>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li[1:3]
['b', 'mpilgrim']
>>> li[1:-1]
['b', 'mpilgrim', 'z']
>>> li[0:3]
['a', 'b', 'mpilgrim']

从左向右阅读 list,第一个 slice 索引指定了您想要的第一个元素,第二个 slice 索引指定了第一个您不想要的元素。返回的值为在其间的每个元素。

如果左侧分片索引为 0,您可以将其省略,默认为 0。同样的,如果右侧分片索引是 list 的长度,可以将其省略。


3.果将两个分片索引全部省略,这将包括 list 的所有元素。但是与原始的名为 li 的 list 不同,它是一个新 list,恰好拥有与 li 一样的全部元素。

li[:] 是生成一个 list 完全拷贝的一个简写。


4.向 list 中增加元素

>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']


5.extend (扩展) 与 append (追加) 的差别
>>> li = ['a', 'b', 'c']
>>> li.extend(['d', 'e', 'f'])
>>> li
['a', 'b', 'c', 'd', 'e', 'f']
>>> len(li)
6
>>> li[-1]
'f'
>>> li = ['a', 'b', 'c']
>>> li.append(['d', 'e', 'f'])
>>> li
['a', 'b', 'c', ['d', 'e', 'f']
>>> len(li)
4
>>> li[-1]
['d', 'e', 'f']


5.在 list 中搜索

如果在 list 中没有找到值,Python 会引发一个异常。

这一点与大部分的语言截然不同,大部分语言会返回某个无效索引。

尽管这种处理可能令人讨厌,但它仍然是件好事,因为它说明您的程序会由于源代码的问题而崩溃,好于在后面当您使用无效索引而引起崩溃。
 要测试一个值是否在 list 内,使用 in。如果值存在,它返回 True,否则返为 False 。


6. pop 是一个有趣的东西。它会做两件事:删除 list 的最后一个元素,然后返回删除元素的值。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值