从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中的列表中选择某些元素的主要内容,如果未能解决你的问题,请参考以下文章

Python-随机获取列表中的某些元素

Python Selenium - 灵活列表中的所有选项

python怎么把列表中的元素添加到数组

在 Python 中,如何从列表中删除包含某些类型字符的任何元素?

Python入门教程第38篇 filter()函数

从列表中的每个值中选择前 10 个元素