2024-10-03 02:31:57 发布
网友
我有这样的东西:
myListOfLists = [["descrA",True,3],["descrB",True,5],["descrB",True,65],..]
对于列表中的每个元素,我需要将myListOfLists[element][1]设置为False if myListOfLists[element][2] <= 30。在
myListOfLists[element][1]
myListOfLists[element][2] <= 30
myListOfLists应该变成:
myListOfLists
python中实现这一点的最佳方法是什么?在
python所说的“最好的方法可能有很多种”。这是其中之一:
for i in myListOfLists: if i[2] <= 30: i[1] = False
因为“最好”可能意味着:快速,内存效率,可读性等等,你可以检查哪种方法适合你的需要。在
例如,要检查速度,可以使用timeit并比较各种解决方案。在
“最好”不是指“unnecessarily complex”。在
也许这是最好的解释方式:
[(elem, False, num) if num <= 30 else (elem, cond, num) for (elem, cond, num) in myListOfLists]
[(elem, cond and (num > 30), num) for (elem, cond, num) in myListOfLists]
对@Mikhail答案紧性的改进
python所说的“最好的方法可能有很多种”。这是其中之一:
因为“最好”可能意味着:快速,内存效率,可读性等等,你可以检查哪种方法适合你的需要。在
例如,要检查速度,可以使用timeit并比较各种解决方案。在
“最好”不是指“unnecessarily complex”。在
也许这是最好的解释方式:
对@Mikhail答案紧性的改进
相关问题 更多 >
编程相关推荐