由于某种原因x.split(':', 1)[-1]
没有做任何事情。有人可以解释一下,也许可以帮助我吗?
我之前尝试删除数据:(包括":")但它始终保留该数据
代码
data = { 'state': 1, 'endTime': 1518852709307, 'fileSize': 000000 }
data = data.strip('{}')
data = data.split(',')
for x in data:
x.split(':', 1)[-1]
print(x)`
输出
"state":1
"endTime":1518852709307
"fileSize":16777216
答案 0 :(得分:3)
这是一个dictonary,而不是字符串列表。 我想这就是你要找的东西:
data = str({"state":1,"endTime":1518852709307,"fileSize":000000}) #add a str() here
data = data.strip('{}')
data = data.split(',')
for x in data:
x=x.split(':')[-1] # set x to x.split(...)
print(x)
下面的脚本打印出来:
1
1518852709307
0
这是一个单行版本:
print (list(map(lambda x:x[1],data.items())))
打印出来:
[1, 1518852709307, 0]
这是一个整数列表。
答案 1 :(得分:1)
好像你只想要字典中的值
{{1}}
答案 2 :(得分:1)
我不确定,但我认为这是因为计算机将“state”和1视为单独的对象。因此,它只是剥离其冒号的字符串“状态”,其中没有。
您可以通过输入:
将整个字典变为字符串data = str({ Your Dictionary Here })
然后,打印剩下的“for x in data”语句,如下所示:
for x in data:
b = x.split(':', 1)[-1] # creating a new string
print(b)
答案 3 :(得分:1)
data
是一本字典。因此,您只需访问data[state]
的值,其值为1
。
如果您将此数据作为字符串获取,例如: data =“{'state':1,'endTime':1518852709307,'fileSize':000000}”
您可以使用json.loads
将其转换为字典并访问上述数据。
import json
data = '{"state":1, "endTime":1518852709307, "fileSize":0}'
data = json.loads(data)
for _,v in data.items():
print(v)
如果你想自己解析字符串,这应该有效:
data = '{"state":1,"endTime":1518852709307,"fileSize":000000}'
data = data.strip('{}')
data = data.split(',')
for x in data:
x=x.split(':')[-1]
print(x)