2017-02-26 4 views
-2

のは、私はこのようなPythonの文字列を持っているとしましょう:Python文字列を行単位で整数に変換しますか?

Some first text: 2342 
Another line here: 284 
Maybe third line: 458 
And forth line: 199 

そして、私は、この文字列から4つの整数変数を作成するようにVAR =(何行1の数値)。そしてvar2 =(2行目の何でも)..など。

どうすれば可能ですか?

+0

ええ、最初に 'split'と' int'を使って数字を取得し、 'dictionary'を使ってそれらを保存することができます。 – Arman

+0

@Arman編集:D – Madno

+0

あなたが最初に自分自身を試してみませんか? –

答えて

2

あなたは、アレイ内のすべての番号を格納することができます

s = '''\ 
Some first text: 2342 
Another line here: 284 
Maybe third line: 458 
And forth line: 199''' 

print [int(l.split(':')[1]) for l in s.split('\n')] 

出力:

[2342, 284, 458, 199] 

そして、配列の最初の要素は最初のラインなどに対応します

0

これを試してみてください:

words = somestring.split() 
    for i in range(len(words)): 
     try: 
      locals()['int_%s'%(i)] = int(words[i]) 
     exept: 
      pass 
0

ループはfor、方法はis_digitとすることができます。このような

# let's guess input text is called TEXT. 
TEXT = '''\ 
Some first text: 2342 
Another line here: 284 
Maybe third line: 458 
And forth line: 199''' 

# we can make like this: 
splited_TEXT = TEXT.split('\n') 
# make new(wanted) dictionary 
new_dict = {} 

# then use for loop: 
for num, sentence in enumerate(splited_TEXT): 
    for word in sentence.split(' '): # split by space 
     if word.is_digit: # check if word is digit 
      new_dict[num] = word 
      continue 
print(new_dict) 

が次にあなたがチェックすることができますが、{0:2342、1:284 ...}:

[int(s) for s in TEXT.split() if s.isdigit()] 

ため

0

私はこのシンプルなラインが機能することがわかりましたTEXTと同じです。

+0

右ですが、これは2番目の部分、つまり変数の作成には答えません。私がOPが数を知っているとは思えないので、より一般化された解決策はより良いでしょう(多分それは単なる数字であるかもしれません)。 :) – KeyWeeUsr

+0

4つの数字については、var1、var2、var3、var4 = [s.isdigit()ならばTEXT.split()のsのint(s) – jnsod