我有这样的东西:
myListOfLists = [["descrA",True,3],["descrB",True,5],["descrB",True,65],..]
对于列表中的每个元素,我需要设置 myListOfLists[element][1]
如果 myListOfLists[element][2] <= 30
则为 False .
myListOfLists
应该变成:
[["descrA",False,3],["descrB",False,5],["descrB",True,65],..]
在 python 中执行此操作的最佳方法是什么?
最佳答案
可能有很多方法可以做到这一点,具体取决于您所说的“python 中的最佳方法”是什么意思。这是其中之一:
for i in myListOfLists:
if i[2] <= 30:
i[1] = False
因为“最佳”可能意味着:快速、内存高效、可读等,您可以检查哪种方法适合您的需求。
例如,要检查速度,您可以使用 timeit并比较各种解决方案。
“最好”不应该是“unnecessarily complex”。
关于如果满足条件,则修改列表元素的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29182816/