使用列表理解转换列表
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]]
这是我正在处理的 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]]