【发布时间】:2014-12-04 23:14:50
【问题描述】:
这是代码。它被用于更改存储在列表中的某个值(介于 25 到 81 个值之间),具体取决于用户输入。我使用第二个列表来决定会发生什么,里面只有 4 个值,这也是用户的输入。基本上,如果用户选择了某个值,它会依次更改为下一个值。
if list1[value] == list2[3]:
list[value] = list2[0]
elif list1[value] == list2[0]:
list[value] = list2[1]
elif list1[value] == list2[1]:
list[value] = list2[2]
elif list1[value] == list2[2]:
list[value] = list2[3]
我的问题是,我找不到使它更简单的方法。它看起来又长又丑。它还需要根据额外的输入执行多次,因此,如果用户两次选择相同的变量,则每次都会依次更改。
这似乎是一个愚蠢的问题。多年来,我一直在考虑如何将其简化为简短的 for 循环或其他东西,但由于某种原因,每次都失败了。 我尝试过这样的事情:
e = value % 4
if list1[value] == list2[e]:
list1[value] = list2[e + 1]
#This isn't exactly what I had, but something along these lines, maybe in a for loop too etc.
列表 2 包含 4 个字符串,[color1, colour2, colour3, colour4] 列表 1 包含这些相同的字符串,但会反复循环,直到达到用户指定的列表限制。
感谢您的帮助!
【问题讨论】:
-
列表是什么样的?
-
列表 2 有 4 个字符串,[userColor1, userColor2, userColor3, userColor4] 列表 1 将有 25 到 81 个值,与列表 2 相同的字符串,但会反复循环直到达到最大数量价值。
-
@Jett:您能否编辑问题以添加该评论?对于未来的访问者来说,一眼就能看到会更快。 (标签列表下的
edit链接) -
@BorrajaX 没有问题,完成
标签: python loops if-statement comparison simplify