python - 如何将列表中的集合转换为python中的列表?
问题描述
我想将列表中的集合投射到下面的列表中。
before: [(1, 1, 1), (1, 1, 0), (1, 0, 1)]
after: [[1, 1, 1], [1, 1, 0], [1, 0, 1]]
我需要尽可能简单的代码。
解决方案
>>> x = [(1, 1, 1), (1, 1, 0), (1, 0, 1)]
>>> list(map(list, x))
[[1, 1, 1], [1, 1, 0], [1, 0, 1]]
解释
map(list, x)
接受一个可迭代对象x
并将函数应用于list
该可迭代对象的每个元素。这样元组(1, 1, 1)
就变成了列表[1, 1, 1]
,(1, 1, 0)
变成了[1, 1, 0]
,(1, 0, 1)
变成了[1, 0, 1]
。
然后将这些列表存储在一个map
对象中(假设 Python 3.x)。对象是一个map
迭代器,可以通过调用list
它转换为列表,如上所示。但是,通常您不需要进行这种显式转换,因为迭代器允许您直接遍历元素:
>>> for elem in map(list, x):
... print(elem)
...
[1, 1, 1]
[1, 1, 0]
[1, 0, 1]
推荐阅读
- node.js - 在 NodeJS 和 MongoDB 的帮助下,Gelo Location 存储在 DB 中
- c# - 使用 azure 函数从 azure 存储表中检索数据
- mysql - 从三个字段中识别一个字段,其中字段的值等于`MySQL`中的特定数字
- php - 尝试从 AJAX 中的文本框获取价值并将其发送到新页面
- angular - 重置模板驱动表单/表单的对象打字稿Angular 6时的问题
- jmeter - Bamboo 和 Performance Center 集成
- svg - 在 Adobe Illustrator 中从 *.ai 文件导出到 *.svg 文件时图像丢失项目
- reactjs - 如何让组件等待异步操作
- python - 如何获得代码的大 O 时间复杂度?
- javascript - 此方法中的“this”关键字指的是什么