首页 > 解决方案 > 在代码的不同部分使用列表元素

问题描述

我对 Python 很陌生,因此有一个(可能非常愚蠢)问题:我有一个包含不同数字的列表,我想在代码的不同部分使用它们。但是,每个数字只能使用一次,并且按照它们在列表中出现的顺序。我不确定如何意识到这一点。我正在考虑在迭代列表的代码周围添加一个大循环,但这不是很优雅,因为代码很长,而且我不确定这是否可行。基本上,我想要做的是在代码的不同部分检查列表项是否满足某个条件(如果满足则执行一个函数)。这是一个应该检查列表“TargetRand”中的一项是否满足特定条件的示例:

TargetRand= [1,2,3,2,2,1,2,3,1,2,3,1,2]
WordList = ["dog", "cat", "frog", "mouse", "chicken", "penguin"]
WordList2 = ["tomato", "cucumber", "apple", "carrot", "cheese", "bread"]
WordList3 = ["car", "bike", "shoe", "board", "wheel", "door"]

def SwapWord1():
   swap= TargetRand[x]
   print(swap) #debug check
   if swap == 1:
       a= list(range(1,6))
       m= random.choice(a)
       WordList[m] = "target"
   print(WordList) #debug check

def SwapWord2():
   swap= TargetRand[x]
   print(swap) #debug check
   if swap == 2:
       a= list(range(1,6))
       m= random.choice(a)
       WordList2[m] = "target"
   print(WordList2) #debug check

def SwapWord3():
   swap= TargetRand[x]
   print(swap) #debug check
   if swap == 3:
       a= list(range(1,6))
       m= random.choice(a)
       WordList3[m] = "target"
   print(WordList3) #debug check

然后,“x”应该是列表的相应项目。这只是使用列表项的代码的简化部分,还有其他部分应该检查下一项。总体而言,该列表包含大约 70 个项目,应在代码的不同部分按列表顺序连续检查。

我真的很困惑,如何实现这一点并且迫切需要一些想法!很抱歉我无法提供更多的解决方案。

非常感谢您!

标签: pythonpython-3.xlist

解决方案


我不完全确定你在问什么,但是“每个数字只能使用一次,并且按照它们在列表中出现的顺序”让我认为你可以使用pop(),特别是因为你已经有一个列表放在一起。如果没有给出参数,它将返回最后一个元素并将其从列表中删除。

弹出第一个元素如下所示:

>>> TargetRand = [1,2,3,2,2,1,2,3,1,2,3,1,2]
>>> x = TargetRand.pop(0)
>>> print(x)
1
>>> print(TargetRand)
[2,3,2,2,1,2,3,1,2,3,1,2]

推荐阅读