为列表中的每个项添加一个字符

时间:2013-04-01 05:46:20

标签: python

假设我有一套卡片列表如下:

suits = ["h","c", "d", "s"]

我希望为每件套装添加一种卡片,以便我的结果类似于

aces = ["ah","ac", "ad", "as"]

是否有一种简单的方法可以在不重新创建全新列表并使用for循环的情况下执行此操作?

3 个答案:

答案 0 :(得分:27)

这必须是'最简单'的方式

>>> suits = ["h","c", "d", "s"]
>>> aces = ["a" + suit for suit in suits]
>>> aces
['ah', 'ac', 'ad', 'as']

答案 1 :(得分:5)

另一种选择,地图功能:

aces = map(( lambda x: 'a' + x), suits)

答案 2 :(得分:3)

如果你想添加不同于'a'的东西,你也可以试试这个:

foo = ['h','c', 'd', 's']
bar = ['a','b','c','d']
baz = [x+y for x, y in zip(foo, bar)]
>>> ['ha', 'cb', 'dc', 'sd']