如何使用列表推导式转换列表并完成nn、mm、pp三个变量的赋值
问题分析
你原有写法的逻辑错误在于,外层列表推导式直接将每个子列表整体和字符串'0'做相等判断,返回的是三个单值而非目标二维列表结构,自然无法正确给三个变量赋值。
实现代码
仅需在外层列表推导式内再加一层嵌套列表推导式,遍历每个子列表的内部元素做判断即可:
nn, mm, pp = [[1 if elem == '0' else -1 for elem in sub_list] for sub_list in [['0','0'],['1','0'],['1','1']]]
结果验证
运行后三个变量的赋值结果完全符合预期:
nn取值为[1, 1]mm取值为[-1, 1]pp取值为[-1, -1]
内容的提问来源于stack exchange,提问作者ZR-
相关产品推荐
相关产品推荐

