25

次のような一連のカードのリストがあるとします。

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

そして、各スーツにカードの種類を追加して、結果が次のようになるようにします

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

forまったく新しいリストを再作成してループを使用せずにこれを行う簡単な方法はありますか?

4

3 に答える 3

50

これは「最も簡単な」方法でなければなりません

>>> suits = ["h","c", "d", "s"]
>>> aces = ["a" + suit for suit in suits]
>>> aces
['ah', 'ac', 'ad', 'as']
于 2013-04-01T05:47:36.580 に答える
7

別の方法である map 関数:

aces = map(( lambda x: 'a' + x), suits)
于 2013-04-01T05:51:06.337 に答える
4

いつもの「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']
于 2013-04-01T06:24:27.513 に答える