所以我有字符串:
[53,2]
我想分开它,以便:
x = 52
y = 2
答案 0 :(得分:2)
容易!
X, y = [53, 2]
Python不好玩吗?
如果您的对象实际上是字符串而不是列表,则可以安全地将其转换为列表:
import ast
x, y = ast.literal_eval("[53, 2]")
答案 1 :(得分: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 :(得分:0)
假设您有一个字符串而不是数组/列表,则需要replace和split方法。
mystring="[53,2]"
x=str.split(mystring,",")[0].replace("[","")
y=str.split(mystring,",")[1].replace("]","")
答案 3 :(得分:0)
可替换地:
a=[53,2]
x=a[0]
y=a[1]
print(x,y)
53 2
修改抱歉,误解了您的问题。数字是字符串值。