53617

[code]

    list1 = ['12:00～15:00', '18:00～23:30', '12:00～15:00', '18:00～24:00']
    
[/code]

を

[code]

    list1 = ['12:00','15:00', '18:00','23:30', '12:00','15:00', '18:00','24:00']
    
[/code]

にしたいです。splitでやってみたんですが、リストは指定できないとエラーが出ます。何かやり方はありますか？

[code]

    list1 = ['12:00～15:00', '18:00～23:30', '12:00～15:00', '18:00～24:00']
    split('～', list1)
    
[/code]


CC BY-SA 4.0
2019-03-21T07:46:17.790
53615
2019-03-21T09:08:07.310
2019-03-21T09:06:49.957
29826
32145
question
python
リストの要素を分割


`str.split` は`str`型に対するメソッドであるため、リストに対して使うことはできません。

このため、 `map(lambda x:x.split("〜"), list1)` として、 `list1` の各要素に対して `str.split`
を実行するのがよいでしょう。

記載のような出力が欲しい場合、 `functools.reduce` と組み合わせて以下のように結果を得ることができます。

[code]

    from functools import reduce
    
    list1 = ['12:00～15:00', '18:00～23:30', '12:00～15:00', '18:00～24:00']
    print(list(reduce(lambda a, b: a + b, map(lambda x: x.split('～'), list1))))
    # => ['12:00', '15:00', '18:00', '23:30', '12:00', '15:00', '18:00', '24:00']
    
[/code]


CC BY-SA 4.0
2019-03-21T09:08:07.310
53617
2019-03-21T09:08:07.310
29826
53615
answer