我可以结合这两个列表理解吗?

Can I combine these two list comprehensions?

这是我正在研究的两个列表理解:

basis_result = [[1 if value == '0' else -1 for value in sublist] for sublist in basis_result]
miti_basis_result = [[1 if value == '0' else -1 for value in sublist] for sublist in miti_basis_result] 

它们仅在最后一部分不同。我想知道如何结合这些列表理解?我正在尝试一个较短的示例:aa,bb,cc = [i for i in [range(2),range(3),range(4)]] 但此方法不起作用。感谢您的帮助!

您可以将常用代码提取为函数:

def process_result(result):
    return [
        [1 if value == '0' else -1 for value in sublist] 
        for sublist in result
    ]

basis_result = process_result(basis_result)
miti_basis_result = process_result(miti_basis_result)

如果您想一次性处理:

results = [process_result(r) for r in results]

你可以试试这个。

basis_result, miti_basis_result = [[[1 if value == '0' else -1 for value in sublist] for sublist in result] for result in [basis_result, miti_basis_result]]