将两个int列表组合成一个字符串列表

2024-06-17 15:27:01 发布

您现在位置:Python中文网/ 问答频道 /正文

编辑:我意识到了我的错误(若语句,变量x被赋值给字符串中的元素,我正在比较列表的长度)。。明天早上就想解决这个问题。这是个愚蠢的错误,但我会很感激你的学习。在

我试着把两个列表合并成一个列表。在

 m = [1,2,3]
 n = [4,5,6]
 v = m+n

 def myFun():
   return [(str(x)+str(y)) for x in m if x < len(m) for y in n if y < len(n)]

 print(myFun())

myFun()的结果应该显示“14,25,36”

我还试图将代码分解成一个更像Python的世界,并看到了我误入歧途的地方:

^{pr2}$

我是不是朝着正确的方向前进了,或者我应该试着建立一个地图,我已经看到一些网页说,如果你不得不用列表比较或lambda来逆转,地图可能会适得其反?另外,是否可以计算列表理解/lambda中的特定对象?(例如列表长度)?在


Tags: lambda字符串in编辑列表forlenif
2条回答

使用zip()

In [8]: m = [1,2,3]

In [9]: n = [4,5,6]

In [10]: [str(x)+str(y) for x,y in zip(m,n)]
Out[10]: ['14', '25', '36']

如果列表长度不同,则使用itertools.izip_longest()

^{pr2}$

使用地图:

map(lambda a, b: str(a) + str(b), m, n)

相关问题 更多 >