41

どうすれば次のようなものを作ることができますか

x = '1 2 3 45 87 65 6 8'

>>> foo(x)
[1,2,3,45,87,65,6,8]

私は完全に立ち往生しています.インデックスでそれを行うと、1桁以上の数字が分解されます. 助けてください。

4

8 に答える 8

3

シンプルなラインは...

print (map(int, x.split()))  

ある人が賢明に私を修正したように、python >=3 では、次のようになります。

print(list(map(int,x.split())))  

以前のバージョンのユーザーにすることもできます。

于 2013-10-24T02:41:01.597 に答える
1

わかりやすい説明をするだけです。

str.split()文字列をリストに分割するstring メソッドを使用できます。この方法の詳細については、こちらをご覧ください。

例:

def foo(x):
    x = x.split() #x is now ['1','2','3','45', ..] the spaces are removed.
    for i, v  in enumerate(x): #Loop through the list
        x[i] = int(v) #convert each element of v to an integer

それはそれを行う必要があります!

>>> x
[1, 2, 3, 45, 87, 65, 6, 8]
于 2013-10-24T02:10:36.170 に答える