python - 使用列表推导转换列表
问题描述
这是我正在处理的 Python 列表:
nn,mm,pp = [1 if x =='0' else -1 for x in [['0','0'],['1','0'],['1','1']]]
我的目标是制作nn = [1,1]
,mm = [-1,1]
和pp = [-1,-1]
. 我可以使用for
循环来做到这一点,但它看起来很长。我想知道有没有办法使用列表理解来做到这一点?谢谢!
解决方案
您正在处理嵌套列表,这意味着对于这个特定问题,您需要使用嵌套循环:
>>> nested = [['0', '0'], ['1', '0'], ['1', '1']]
>>> [[1 if value == "0" else -1 for value in sublist] for sublist in nested]
[[1, 1], [-1, 1], [-1, -1]]
推荐阅读
- windows - 窗口不可见,但 IsWindow + IsWindowVisible + IsWindowEnabled 返回 true 并且 GetWindowRect 返回合理的值
- php - PHP 中的 Netsuite SuiteQL OAuth 实现
- file - 是否可以构建.exe文件
- firebase - Firebase 动态链接和自定义 URL 方案
- python - 如何为 NLP 安装 BigBirdTokenizer?
- python - 有没有办法在 PyCharm 中读取和更改一个巨大的 csv 文件的内容?
- mysql - 如何使用 Windows 10 在 MariaDB 中进行复制?服务出现错误 1067
- android - 安卓刀柄。如何重建依赖关系树?
- html - 具有可重复行级元素的 HTML CSS 可打印 2 列表
- python - 为什么我通过终端在 Mac OS 上安装的软件包返回 ModuleNotFoundError:尝试通过 IDLE 导入它们时