Q
分配部分
-4
A
回答
1
你叫它一個字符串,但語法說它是一個列表;所以我會回答兩個:)。
如果它是一個字符串,您可以通過使其成爲一個列表:
data = "[53, 2]"
data_stripped = data.strip('[]') # remove '[' and ']'s from the ends
data_split = data.split(',') # split into a list containing each entry
data_final = [int(x) for x in data_split] # convert strings to ints
此時data_final
包含列表[53, 2]
。如果您的初始值的列表已經,您可以跳過上面的代碼,並將其直接運行下面的代碼之前分配給data_final
:
x, y = data_final
這就是它! :)
編輯:
另一種方式來解析字符串是使用json.loads
:然後
import json
data_str = '[53, 2]'
data = json.loads(data_str)
data
將列表[53, 2]
。然後你就可以得到x
和y
上述同樣的方式:
x, y = data
感謝Freenode上的#python IRC頻道_habnabit指出這一點。 :)
2
輕鬆!
X, y = [53, 2]
Python不是很有趣嗎?
如果你的對象實際上是一個字符串,而不是一個列表,你可以放心地將其轉換爲一個列表:
import ast
x, y = ast.literal_eval("[53, 2]")
+0
對於那些想知道的人來說,'ast.literal_eval()'即使在不受信任的輸入上也是安全的,而不是'eval()'。不要使用'eval'! – Cyphase
0
0
或者:
a=[53,2]
x=a[0]
y=a[1]
print(x,y)
53 2
編輯:對不起,誤解你的問題。這些數字是字符串值。
相關問題
- 1. 匹配部分
- 2. 部分匹配
- 3. 部分匹配
- 4. Z3中的部分分配
- 5. 匹配部分的可選部分
- 6. Perl部分匹配
- 7. 裝配分部 - MASM
- 8. 與部分匹配
- 9. 分部裝配MSP430
- 10. 內部分配VB
- 11. 匹配的部分
- 12. COUNTIF部分匹配
- 13. jQuery:hasClass部分匹配
- 14. Elasticsearch部分匹配或模糊匹配,提升部分結果
- 15. 將應用程序配置的appsetting部分分爲兩部分
- 16. 部分分配矢量到另一個
- 17. ES6對象分配部分項目
- 18. 爲recv部分分配緩衝區
- 19. Logback配置:分解可重用部分
- 20. 指定分配部分的pom.xml外
- 21. 部分部分從分開()
- 22. 內部分配 - ios sdk
- 23. preg_replace只匹配部分
- 24. 部分匹配MySQL查詢
- 25. 字符串部分匹配
- 26. Javascript替換部分匹配?
- 27. PHP elasticsearch部分匹配
- 28. 的Solr - termfreq部分匹配
- 29. 部分匹配elasticsearch rails
- 30. Thinking_Sphinx部分工作匹配
你有'[53,2]',還是你有''[53,2]「'? '[53,2]'是一個列表,'「[53,2]」'是一個字符串。 – Cyphase
你是否已經通過[Tutorial](https://docs.python.org/2/tutorial/index.html)? – wwii
將'[53,2]'分成兩個元素,53和2,不會產生52和2.您可能需要一些數學算法,或者這個問題可能在語句中有錯誤。我不能說。 – Paul