可能有一个匹配的问题。我有一个全局定义的列表,我试图通过使用特定的if语句来迭代列表和编辑某些元素。我的问题是,当我在循环之前打印列表和之后打印列表时,它们仍然是相同的。你知道吗
我考虑过使用enumerate来手动编辑list[“enumerated number”],使用连接到元素的数字,但这看起来很笨拙。你知道吗
print(list)
for el in list:
print(el)
if el < 1:
el = 0
elif el > 1:
el = 2
print(list)
我希望得到的输出是根据if语句编辑的顶部列表。你知道吗
正如Derek Langley所建议的,您可以通过索引列表来实现。与
range(len(list))
相比,使用enumerate(list)
是一个好习惯编辑:我本想添加这个作为评论,但我还没有足够的点!你知道吗
请尝试以下操作:
我相信代码不起作用的原因是因为引用的是列表中的对象,而不是对象的位置。你知道吗
这不起作用的原因是Python变量只是名称。每次通过循环时,
el
最初被设置为下一个列表索引中的名称。例如,如果下一个值是3,那么每当el
出现时,计算机就会用3替换它。你知道吗但是当你有一个像
el = 2
这样的语句时,你所做的就是告诉计算机从现在起,el
只是数字2的另一个名称。您实际上还没有编辑基础列表元素。为此,您需要执行以下操作:这样做的原因是,您实际上是在更改列表元素本身,而不是为每个列表元素指定一个名称,然后将该名称指定给其他元素。你知道吗
相关问题 更多 >
编程相关推荐