如何使用 Python 3.5.1 从列表中打印多个非连续值

新手上路,请多包涵

我创建了一个列表,想从列表中选择一些项目进行打印。下面,我只想在索引 0 处打印出“熊”,在索引 3 处打印出“袋鼠”。我的语法不正确:

 >>> animals = ['bear', 'python', 'peacock', 'kangaroo', 'whale', 'platypus']
>>> print (animals[0,3])

回溯(最近一次调用最后一次):文件“”,第 1 行,in print (animals[0,3]) 类型错误:列表索引必须是整数或切片,而不是元组

我尝试在索引之间添加一个空格,但它仍然给出错误:

 >>> print (animals[0, 3])

回溯(最近一次调用最后一次):文件“”,第 1 行,in print (animals[0, 3]) 类型错误:列表索引必须是整数或切片,而不是元组

我能够打印单个值或 0-3 的范围,例如:

 >>> print (animals [1:4])
['python', 'peacock', 'kangaroo']

如何打印多个不连续的列表元素?

原文由 tau woobunker 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 643
2 个回答

要从列表中选择任意项目,您可以使用 operator.itemgetter

 >>> from operator import itemgetter
>>> print(*itemgetter(0, 3)(animals))
bear kangaroo
>>> print(*itemgetter(0, 5, 3)(animals))
bear platypus kangaroo

原文由 Ashwini Chaudhary 发布,翻译遵循 CC BY-SA 3.0 许可协议

Python 的 list 类型不支持使用 animals[0,3] 中的元组进行切片。如果你想要某些任意值,你将不得不单独索引它们。

 print(animals[0], animals[3])

原文由 TigerhawkT3 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题