python - 不使用 for 循环打印列表
问题描述
我希望在不使用 for 循环的情况下打印列表中的元素
例子,
a = ["I","have","something","to","buy"]
代码:
from itertools import combinations
aa = list(combinations(a,4))
print("element_{}".format(*aa))
第二个代码:
def word(aa):
print(aa)
for x in aa:
return x
aa = list(combinations(a, len(a)-1))
for wordd in aa:
aaa.append("element_{}".format(word(list(wordd))))
print(aaa)
我尝试使用 Splat 或诸如“*”之类的 splatting,但它不起作用。我还没有掌握 splat。
预期输出:
[['element_I', 'element_have', 'element_something', 'element_to'], ['element_I', 'element_have', 'element_something', 'element_buy'], ['element_I', 'element_have', 'element_to', 'element_buy'], ['element_I', 'element_something', 'element_to', 'element_buy'], ['element_have', 'element_something', 'element_to', 'element_buy']]
解决方案
使用列表理解:
from itertools import combinations
aa = list(combinations(a,4))
print([['element_{}'.format(x) for x in e] for e in aa])
输出 :
[['element_I', 'element_have', 'element_something', 'element_to'], ['element_I', 'element_have', 'element_something', 'element_buy'], ['element_I', 'element_have', 'element_to', 'element_buy'], ['element_I', 'element_something', 'element_to', 'element_buy'], ['element_have', 'element_something', 'element_to', 'element_buy']]
使用地图:
from itertools import combinations
aa = list(combinations(a,4))
print(map(lambda x : map(lambda y : 'element_{}'.format(y), x), aa))
推荐阅读
- c# - NSwag:如何抑制控制器 ASP.NET Core
- swift - Vimeo 视频上传 API Swift 失败
- javascript - 使用 VS Code 调试 Sanity exec
- python - 使用 ghost 脚本注释 pdf 中的特定文本
- node.js - Firestore 数据库未与 Firebase 云功能连接
- java - 如何解决 Tomcat 中 MAT Analyzer 的 OutOfMemory 发现
- javascript - 为什么“焦点内”在 Safari 中不起作用
- sql - 在执行之前修改 SELECT 语句
- kubernetes - 为什么 LoadBalancer 服务中的 EXTERNAL-IP 总是挂起?
- authentication - 使用 rabbitmq-auth-backend-http 对 MQTT 和 AMQP 请求进行身份验证的问题