打印列表而不使用for循环

时间:2018-10-10 08:41:05

标签: python list

我希望在不使用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)

1 个答案:

答案 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))