从python中的列表中选择某些元素
Posted
技术标签:
【中文标题】从python中的列表中选择某些元素【英文标题】:Select certain elements from a list in python 【发布时间】:2020-08-01 05:35:15 【问题描述】:我认为这个问题以前曾被问过,尽管我找不到完全符合我的查询的答案。
我想打印列表中的某些元素,具体取决于输入的长度。示例:
if anagramLength == 2:
print(words[0,5])
我发现了一个名为 'operator.itemgetter' 的想法,虽然这会选择单个元素,但我希望它从位置 0 TO 位置 5 (不是位置 0 AND 位置 5)。
谢谢!
【问题讨论】:
你的意思是words[0:5]
?
是的,他的意思是我认为
我是认真的。谢谢...!
【参考方案1】:
只要做正确的切片:
words[0:5]
即用:
替换,
if anagramLength == 2:
print(words[0:5])
使用words[0,5]
,产生错误:
TypeError: string indices must be integers
要了解导致错误的原因,请执行以下操作:
>>> 0,5
(0, 5)
看,这是一个tuple
。你不能用一个元组来分割一个字符串,而是一个整数:)
【讨论】:
如此简单,但我什至没有尝试过。谢谢 我意识到你在我回复后说勾选不支持。干杯:) @WillLevine 肯定 :) 我认为 words[0,5] 会产生错误。做到了?你想知道为什么吗? 确实如此。怎么来的? @WillLevine 我会将其添加到答案中【参考方案2】:您正在寻找slicing
。
语法相当简单:
words[start:stop]
将打印从start
索引到stop
索引的元素,在您的情况下:
print(words[0:5])
【讨论】:
【参考方案3】:你可以使用slicing
:
if anagramLength == 2:
print(words[:5])
【讨论】:
以上是关于从python中的列表中选择某些元素的主要内容,如果未能解决你的问题,请参考以下文章