42262


初歩的な質問かと思いますが、

[code]

    v = ['abcd', 'efgh', 'ijkl', 'mnop']
    
    aeim
    
[/code]

上記リストvの頭文字のみをjoinしたいと考えています。  
リストの要素をスライスして0文字目を取得すればよいとは思うのですが、どう処理していいのか悩んでいます。  
なにか良い方法はありますでしょうか。  
よろしくお願いします。  
pythonのバージョンは2.7.12を使用しています。


CC BY-SA 3.0
2018-03-09T06:42:57.673
42256
2018-03-09T10:00:45.433
22885
question
python
リスト内の頭文字を結合したい


一度 Python の入門書などを読んだ方がよいかと思われます。

その１

[code]

    v = ['abcd', 'efgh', 'ijkl', 'mnop']
    heads = ""
    for s in v:
            # print("s => " + s)
            head = s[0]
            # print("head => " + head)
            heads += head
    
    print(heads)
    
[/code]

その２

[code]

    v = ['abcd', 'efgh', 'ijkl', 'mnop']
    heads = "".join([ s[0] for s in v ])
    print(heads)
    
[/code]


CC BY-SA 3.0
2018-03-09T07:31:21.173
42261
2018-03-09T07:31:21.173
27410
42256
answer


ジェネレータ式を使った例です。

[code]

    v = ['abcd', 'efgh', 'ijkl', 'mnop']
    result = "".join(i[0] for i in v)
    # result は 'aeim'
    
[/code]

参考:

  * [ジェネレータ式とリスト内包表記](https://docs.python.jp/3.6/howto/functional.html?highlight=comprehensions#generator-expressions-and-list-comprehensions)
  * [リストの内包表記](https://docs.python.jp/3/tutorial/datastructures.html#list-comprehensions)


CC BY-SA 3.0
2018-03-09T07:31:45.277
42262
2018-03-09T07:31:45.277
3054
42256
answer

[code]

    s = ""
    v = ['abcd', 'efgh', 'ijkl', 'mnop']
    for line in v:
        s += v[0]
    
[/code]


CC BY-SA 3.0
2018-03-09T10:00:45.433
42273
2018-03-09T10:00:45.433
26311
42256
answer