使用列表理解转换列表

Transform the lists using a list comprehension

这是我正在处理的 Python 列表:

nn,mm,pp = [1 if x =='0' else -1 for x in [['0','0'],['1','0'],['1','1']]]

我的目标是nn = [1,1]mm = [-1,1]pp = [-1,-1]。我可以使用 for 循环来做到这一点,但它看起来真的很长。我想知道有没有一种方法可以使用列表理解来做到这一点?谢谢!

您正在处理嵌套列表,这意味着对于这个特定问题您需要使用嵌套循环:

>>> nested = [['0', '0'], ['1', '0'], ['1', '1']]
>>> [[1 if value == "0" else -1 for value in sublist] for sublist in nested]
[[1, 1], [-1, 1], [-1, -1]]