假设您有两个字符串列表,并且想要连接每个列表中的相应条目。例如,用a=list("abcd")
和b=list("1234")
计算["a1","b2","c3","d4"]
。
在基于数组的编程语言中,这是微不足道的,在这种语言中,操作通常以成员方式应用于列表。例如,在我的高尔夫语言Pip中,代码就是a.b
。但是在Python中,这并不容易。
Python方式可能是使用zip
列表理解(25个字符):
[x+y for x,y in zip(a,b)]
另一种方法是map
使用lambda函数(23):
map(lambda x,y:x+y,a,b)
以下是我想出的最短的(21):
map("".join,zip(a,b))
有没有更短的方法?
假设列表的长度相同,并且只需要某种可迭代的内容(因此map
在Python 3中可以使用对象)。
Python中打高尔夫球
—
桅杆
@桅杆提示列表中是否包含解决此特定问题的答案?
—
马丁·恩德
@MartinBüttner如果不是,应该这样做。防止混乱并保持所有技巧的结合等。– 2015
—
桅杆