38936


`s = ['1', '+', '5', '*', '5']` というstrで構成されたリストがある時  
`s = [1, '+', 5, '*', 5]` というふうに簡単に変換できる方法はありますでしょうか？  
一応考えてみたプログラムが以下のような感じなのですが、良い書き方ではないような気がしたので質問させていただきました。

[code]

    s = '1 + 5 * 5'.split()
    for i in s:
        try:
            if int(i) % 1 ==0:
                s[s.index(i)] = int(i)
        except ValueError:
            pass
    
[/code]


CC BY-SA 3.0
2017-10-21T10:55:01.507
38935
2017-10-21T14:40:38.997
2017-10-21T14:40:38.997
19110
25679
question
python python3
リスト内の数字だけをint型にしたい

[code]

    s = [int(c) if c.isdecimal() else c for c in '1 + 5 * 5'.split()]
    
[/code]

と書くでしょうか。


CC BY-SA 3.0
2017-10-21T11:25:26.363
38936
2017-10-21T11:25:26.363
12274
38935
answer