python - 列表理解:带有 append 语句的嵌套循环
问题描述
我有这段python代码
xy_tups = []
for x in ['m', 't', 'b']:
for y in ['b', 't', 'e']:
if x != y:
xy_tups.append ((x, y))
输出这个:[('m', 'b'), ('m', 't'), ('m', 'e'), ('t', 'b'), ('t', 'e'), ('b', 't'), ('b', 'e')]
我需要创建这段代码的列表理解版本,但我无法弄清楚。我试过这些方法
xy_tups = [x for x in ['m', 't', 'b'] and y for y in ['b', 't', 'e'] if x != y]
xy_tups = [x for y in ['m', 't', 'b'] and y for x in ['b', 't', 'e'] if x != y]
并且我尝试将其添加xy_tups.append(x,y)
到列表理解代码中,但出现错误。我知道列表中的每个字母都与x
列表中的每个字母连接y
一次,但我不知道如何将列表理解放在一起。
解决方案
xy_tups = [(x,y) for x in ['m , 't', 'b'] for y in ['b', 't', 'e'] if x != y ]
print(xy_tups)
输出: [('m', 'b'), ('m', 't'), ('m', 'e'), ('t', 'b'), ('t', 'e '), ('b', 't'), ('b', 'e')]
推荐阅读
- android - 如何使用 Glide 加载 gif 图片 url?
- javascript - JavaScript 中静态变量的工作
- c++ - 从 C++ 中的文本文件中删除和更新产品
- mysql - ALTER VIEW 只为一个视图插入数据库前缀
- sql - 如何通过使用 JPA 或 Hibernate 中的标准构建器连接同一个表来选择值
- android - 未找到 com.google.android.gms.internal.zzeku 的类文件
- excel - 关闭工作簿 VBA 时保存剪贴板
- linear-programming - 是否有可能找到所有整数解?
- python - 如何在 Python 中打印一行?
- scipy - 安装 Scipy 时出现问题