我希望在不使用for循环的情况下打印列表中的元素
示例
int i;
while((i=getchar())!=EOF)
代码:
a = ["I","have","something","to","buy"]
第二个代码:
from itertools import combinations
aa = list(combinations(a,4))
print("element_{}".format(*aa))
我尝试使用Splat或诸如“ *”之类的Splating,但无法正常工作。我仍然不是主人。
预期输出:
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)
答案 0 :(得分:1)
使用列表理解:
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))