【问题标题】:Select certain elements from a list in python从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]
  • 是的,他的意思是我认为
  • 我是认真的。谢谢...!

标签: python arraylist


【解决方案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])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 1970-01-01
      • 2021-08-23
      • 2018-09-04
      • 1970-01-01
      • 2018-11-23
      • 2013-06-20
      相关资源
      最近更新 更多