我在Python中使用方括号有问题。我编写了一个代码,产生以下输出:
[[180.0], [173.8], [164.2], [156.5], [147.2], [138.2]] 但是我想以此进行一些计算,但是方括号不允许我这样做。
如何卸下支架?我看到了一些可以做到这一点的例子,但是我不能将它们应用于这种情况。 问题来源于stack overflow
使用嵌套列表理解将列表弄平以“除去括号”。这将取消嵌套存储在列表中的每个列表的嵌套!
list_of_lists = [[180.0], [173.8], [164.2], [156.5], [147.2], [138.2]] flattened = [val for sublist in list_of_lists for val in sublist] 嵌套列表推导的评估方式与解开方式相同(即为每个新循环添加换行符和制表符。因此,在这种情况下:
flattened = [val for sublist in list_of_lists for val in sublist] 等效于:
flattened = [] for sublist in list_of_lists: for val in sublist: flattened.append(val) 最大的区别是列表comp的求值速度比解开循环快得多,并且消除了append调用!
如果子列表中有多个项目,则列表组合甚至可以将其展平。即
list_of_lists = [[180.0, 1, 2, 3], [173.8], [164.2], [156.5], [147.2], [138.2]] flattened = [val for sublist in list_of_lists for val in sublist] flattened [180.0, 1, 2, 3, 173.8, 164.2, 156.5, 147.2,138.2]
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。