从python lis中提取一系列数据

2024-04-27 22:33:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个unicode值列表。据我所知,我可以使用list[起始位置:要选择的长度]从列表中选择一系列值,对吗?

我有一个78个unicode值的列表,这些值并不都是唯一的。当我选择从列表中的0位置开始的5个值的范围(例如:list[0:5])时,将返回正确的值。但是,当我尝试选择一个不从列表中的0位置开始的值范围(例如:list[44:5])时,返回值为[]。改变范围的长度似乎没有任何区别。此外,例如,如果我使用list[44],那么返回的值是正确的。

我不明白为什么光标不在0时无法从列表中进行选择。有人能告诉我python中的列表是否对如何将数据作为一个范围进行检索有限制吗?我希望我的问题足够清楚。如有任何反馈,我将不胜感激。谢谢。


Tags: 数据列表unicodelist返回值区别光标个值
3条回答

你应该做list[44:49],而不是list[44:5]。 通常,当您想在a+1th项之后(包括a+1th项)获取5个项时,您需要L[a, a+5]。 “通常”意味着有更灵活的方法可以这样做:请参见扩展切片:http://docs.python.org/release/2.3/whatsnew/section-slices.html

也不要使用list作为列表名。它覆盖list()

它是列表[开始:结束]不是列表[开始:长度]。

所以你应该list[44:49]

有关slice notation click here的详细信息

在切片符号[a:b]中,第二个值(b)不是长度,而是上限。

要从44开始获取五个元素,应该使用[44:49](49=44+5)

如果上界小于下界,则得到空序列。

相关问题 更多 >