对列表理解的每个生成的实体进行操作

发布于 2024-11-14 20:26:50 字数 479 浏览 1 评论 0原文

我正在尝试使用列表理解生成一个列表,并且我想对每个生成的实体进行操作。类似的东西:

a=['1','2','3']
b=['a','b','c']
temp = [[x,y] for x in a for y in b]
c=[]
for t in temp:
    c.append("".join(t))        

我尝试了类似的东西:

a=['1','2','3']
b=['a','b','c']
c = ",".join([x,y] for x in a for y in b)

我知道这行不通,因为 split 函数已被赋予列表列表而不是字符串列表。有没有更好的方法可以一次性做到这一点?

我试图获得的输出是 ['1a','1b','1c','2a','2b','2c','3a','3b','3c']

I am trying to generate a list using list comprehension and I want to do an operation on each generated entity. Something like:

a=['1','2','3']
b=['a','b','c']
temp = [[x,y] for x in a for y in b]
c=[]
for t in temp:
    c.append("".join(t))        

I tried something like:

a=['1','2','3']
b=['a','b','c']
c = ",".join([x,y] for x in a for y in b)

I know this won't work because the split function has been given a list of lists instead of list of strings. Is there any better way to do this in one go?

The output I am trying to get is ['1a','1b','1c','2a','2b','2c','3a','3b','3c']

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

め七分饶幸 2024-11-21 20:26:51
>>> [x + y for x in a for y in b]
['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']
>>> [x + y for x in a for y in b]
['1a', '1b', '1c', '2a', '2b', '2c', '3a', '3b', '3c']
零時差 2024-11-21 20:26:51

使用 itertools 相同:

from itertools import product

print map(''.join, product(['1','2','3'],['a','b','c']))

或不使用:

print map(lambda y: map(lambda x: x+y, a), b)

或如果您有整数列表:

print map(''.join, product(map(str, xrange(1,4)), ['a','b','c']))

The same using itertools:

from itertools import product

print map(''.join, product(['1','2','3'],['a','b','c']))

OR without:

print map(lambda y: map(lambda x: x+y, a), b)

OR if you have a list of integers:

print map(''.join, product(map(str, xrange(1,4)), ['a','b','c']))
小情绪 2024-11-21 20:26:51
from itertools import product
[x+y for x,y in product(a,b)]

或者

from itertools import product, starmap
starmap(str.__add__, product(a,b))
from itertools import product
[x+y for x,y in product(a,b)]

or

from itertools import product, starmap
starmap(str.__add__, product(a,b))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文