如果满足条件,则修改列表元素的 Pythonic 方法

标签 python list python-3.x python-3.4

我有这样的东西:

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/

相关文章:

python - 容易出错的事情

python - Django标签模型设计

list - Haskell:用一个元素和一个列表连接元组列表:[(a,[b])] -> [(a,b)]

python - 有没有更快的方法来判断两张图片是否不同?

python - 如何将列表与列表列表合并

python - cv2.waitkey(1) 未在 opencv python 中运行

python - 访问 numpy 数组的相邻单元格

c# - 在多个线程中添加和删除时 List<string> 中的 null 值

python - Python中最长的不同连续列表

python - 如何使用 nargs ='+' 解析多个位置参数