【问题标题】:Python - index of listPython - 列表索引
【发布时间】:2019-07-05 19:39:46
【问题描述】:

谁能解释为什么这不起作用以及如何纠正它?这是 Udemy 上“30 天 Python”中的一个示例。我已经尝试了很多,但我只是得到错误。 谢谢。

list_d = ["Flower", "Pot", 123, "Daisy", 2328924] list_e = [] for item in list_d: if isinstance(item, int): list_e.append(item) list_d.pop(x) x+=1

【问题讨论】:

  • 欢迎来到 StackOverflow。请花时间阅读这篇关于如何提供minimal, complete, and verifiable example 的帖子并相应地修改您的问题。 how to ask a good question 上的这些提示也可能有用。
  • 请将您的代码以文本形式发布。
  • 在迭代列表时不要更改列表。
  • NihalSangeeth - 对不起,下次我会写。克劳斯 D. - 脚本应该将整数从一个列表复制到另一个列表,并从原始列表中删除。
  • @ZofiaGarncarek 请编辑您的问题并将您的代码发布为文本而不是图像。

标签: python indexing


【解决方案1】:

您不应该在迭代列表时对其进行编辑。除此之外,您对变量 x 的使用非常混乱且不正确。

请看下面的代码:

list_d = ["Flower", "Pot", 123, "Daisy", 2328924]

list_e = []

for item in list_d:
    if isinstance(item,int):
        list_e.append(item)

for item in list_e:
    list_d.remove(item)

print list_e
print list_d

输出:

[123, 2328924]
['Flower', 'Pot', 'Daisy']

注意:这只是对您的答案的编辑,仅用于更正代码中的错误。这样做的方法不止一种,您应该探索一下。

【讨论】:

  • 谢谢。但是有没有可能在一个循环中完成它?
  • 向所有人“嗨”!
  • 您无法在循环浏览列表时对其进行编辑。您可能可以使用列表推导来创建 int 列表。但是,这涉及到遍历列表。
  • 好的。我不明白。感谢所有回复:)
猜你喜欢
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 2013-11-11
  • 2017-10-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多