Python - 将条目拆分为数组

Python - split entries into an array

我有一个 JSON 响应,其中有 2 个部分我想 运行 进行数值比较。我可以得到这些值,但我正在努力删除 [] 并用 , 拆分条目。我的字符串如下所示:

r = """{
    "eth_btc":{
        "asks":[
            [103.426,0.01],
            [103.5,15],
            [103.504,0.425],
            [103.505,0.1]
        ],
        "bids":[
            [103.2,2.48502251],
            [103.082,0.46540304],
            [102.91,0.99007913],
            [102.83,0.07832332]
        ]
    }
}"""

值为"cost, volume"。我需要这两个值,并且我想在 ASKS 和 BIDS 之间进行数值比较。

我需要摆脱 [] 这很容易,我也想用 SPLIT 分隔值,但我无法将它们放入 LIST 中。由于数据已经在字典中,也许我不需要做所有这些,但我不确定如何进行。

j = json.loads(r)
mylist = list()
for item in j['eth_btc']['asks']:
    tempString = str(item).strip('[]')
    mylist.append(tempString.split(','))

print (mylist)

然后需要将这些值从字符串转换为数字。

非常感谢您对此提供的帮助。

事实上,你不需要在这里做任何事情,json为你做。

import json

j = json.loads(r)
mylist = list()
print j['eth_btc']['asks']

输出:

[[103.426, 0.01], [103.5, 15], [103.504, 0.425], [103.505, 0.1]]

json 已经解析了预期类型的​​整数和浮点数(intfloat)。您不必手动重新解析它。


如果您需要配对并对其进行数学运算,请执行以下操作:

for pair in j['eth_btc']['asks']:
    print pair
    print pair[0] * pair[1]
    print '-' * 20

输出:

[103.426, 0.01]
1.03426
--------------------
[103.5, 15]
1552.5
--------------------
[103.504, 0.425]
43.9892
--------------------
[103.505, 0.1]
10.3505
--------------------