python - 在代码的不同部分使用列表元素
问题描述
我对 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 个项目,应在代码的不同部分按列表顺序连续检查。
我真的很困惑,如何实现这一点并且迫切需要一些想法!很抱歉我无法提供更多的解决方案。
非常感谢您!
解决方案
我不完全确定你在问什么,但是“每个数字只能使用一次,并且按照它们在列表中出现的顺序”让我认为你可以使用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]
推荐阅读
- python - Python 3.x 读取 UTF-16 文件似乎颠倒了字节顺序
- django - Django 获取一个查询集并通过自己的查询集项进行过滤
- javascript - 未处理的承诺拒绝 - Firefox
- ruby-on-rails - 如何对 Ruby on Rails 应用程序进行单元测试
- docker - Azure 批处理任务未从 docker hub 拉取基础映像
- node.js - 触发在 jsdom 中触发 POST 请求的 onclick 事件
- excel - 删除非打印字符的 DAX 公式
- python - 一行 foreach 循环删除列表中的替代元素
- mysql - 何时使用 utf8mb4(bin、general_ci、unicode_520_ci)?
- php - PHP中的面向对象编程不清楚