使用嵌套列表列出清单

时间:2018-03-17 20:10:33

标签: python list list-comprehension

想在Python中提出与嵌套列表相关的问题。

我有一个嵌套列表

list_1 = [[1,3,0,1], [1,1,0,2,3,0,4,], [2,1,2,2,3,4]]

我想在嵌套列表上执行舍入和分离操作,但是保持它现在分组(为了更清楚我需要压缩列表执行操作,并且在相同的组中再次展开它)。

例如list' list_1'的结果分2后应该是

list_2 = [[0.5,1.5,0,0.5],[0.5,0.5,0,1,1.5,0,2],[1,0.5,1,1,1.5,2]]

我用来为signle列表执行此操作的代码如下:

list_2 = [round(b,2) for b in [a / 2 for a in list_1]]

请您建议解决此问题的方法。目前我收到错误

"unsupported operand type(s) for /: 'list' and 'float'"

谢谢。

1 个答案:

答案 0 :(得分:5)

修复代码 -

[[j / 2. for j in i] for i in list_1] 

如果您担心性能,可以乘以.5而不是除以2(考虑到这是一个二次解决方案,您可能看不到显着的差异,但它应该计入东西)。

[[j * .5 for j in i] for i in list_1] 

文档只有Nested List Comprehensions的部分,请考虑阅读。