从python列表中提取一系列数据
我有一个unicode值列表。据我所知,我可以使用list[start location:length To select]从列表中选择一系列值,对吗 我有一个78个unicode值的列表,它们并不都是唯一的。当我从列表中的0位置(例如:list[0:5])开始选择5个值的范围时,将返回正确的值。但是,当我尝试选择一个不从列表中的0位置开始的值范围(例如:list[44:5])时,返回值为[]。改变范围的长度似乎没有任何区别。此外,例如,如果我使用列表[44],那么返回的值是正确的从python列表中提取一系列数据,python,list,Python,List,我有一个unicode值列表。据我所知,我可以使用list[start location:length To select]从列表中选择一系列值,对吗 我有一个78个unicode值的列表,它们并不都是唯一的。当我从列表中的0位置(例如:list[0:5])开始选择5个值的范围时,将返回正确的值。但是,当我尝试选择一个不从列表中的0位置开始的值范围(例如:list[44:5])时,返回值为[]。改变范围的长度似乎没有任何区别。此外,例如,如果我使用列表[44],那么返回的值是正确的 我不明白为什
我不明白为什么光标不在0时无法从列表中选择。有人能告诉我python中的列表在如何作为范围检索数据方面是否有限制吗?我希望我的问题和问题足够清楚。如果有任何反馈,我将不胜感激。谢谢。你应该做
list[44:49]
而不是list[44:5]
。
通常,当您想在(包括)a+1项之后提取5项时,您需要L[a,a+5]
。
“通常”意味着有更灵活的方法可以做到这一点:请参阅扩展切片:
另外,尽量不要使用
list
作为列表名。它覆盖列表()它是列表[开始:结束]而不是列表[开始:长度]
所以你应该做list[44:49]
有关切片表示法
[a:b]
中的详细信息,第二个值(b
)不是长度,而是上限
要从44
开始获取五个元素,应使用[44:49]
(49=44+5)
如果上界小于下界,则会得到空序列。关于切片的工作原理可能会有所帮助。谢谢,这消除了我对切片符号如何工作的误解。你的评论都非常有用,我感谢你的帮助。谢谢。我对这个网站还不熟悉,但我已经检查了答案,答案是最有用的(尽管它们都很有用)。