2017-06-12 39 views
0

我提取只是一個數字從一個字符串:將列表內的號碼轉到列表外的號碼;一個字符串

weight = [int(s) for s in fish.split() if s.isdigit()],結果是list[7088]

我嘗試做把該列表轉換爲字符串:

weight = str(weight) print("weight:", weight)但打印輸出仍然是:

weight: [7088]

所以,我想只返回一個整數智慧H:

weight = int(weight)但得到:

ValueError: invalid literal for int() with base 10: '[7088]'

於是我又嘗試了初步清單數字轉換爲浮動有:

weight = float(weight)但得到:

ValueError: could not convert string to float: '[7088]'

最終這會導致我的代碼失敗,因爲我的RegEx沒有認識到這是一個數字。 (正則表達式:regnumber = re.compile(r"(\d),(\d) | (\d)")

是否有簡單的方法將列表中的初始返回數字轉換爲數字/字符串/整數,而不是我的RegEx實際可以識別的數字?

+4

很確定你推翻了這個問題。考慮休息一下:D – nikpod

+0

不要把它變成一個「int」來開始。 – salparadise

回答

2

如果它僅僅是一個列表中的數量始終,你可以這樣做:

weight = str(weight[0]) 

或使用浮動(),INT()等,根據您的需要

+0

或int(權重[0]) – vZ10

+0

謝謝。 Idk,如果我說每個人都在過度嘲笑它,但是我肯定對此很失望。感謝您幫助我 – theprowler

1

明顯的是不把它變成一個int開始與:

weight = [s for s in fish.split() if s.isdigit()] 

,但如果你必須:

weight = map(str, weight)