【发布时间】:2019-08-25 01:51:42
【问题描述】:
我正在尝试遍历 JSON 对象/列表以从列表中获取价格。它适用于第一个“for”循环,但对于我的程序,我需要在第一个循环内嵌套另一个“for”循环,以便在第一个循环停止的地方有效地继续迭代。
编辑:我很抱歉,因为我可能不太清楚我为什么要以这种方式构建此代码。这可能不是最好的解决方案,因为我对 python 不是很有经验,但我试图根据这个 JSON 的历史价格来模拟价格数据的循环流。因此,当价格等于第一个循环中的某个值时,我试图在具有不同 if 语句的嵌套循环中从最后一个循环停止的地方(它读取的最后一个价格)继续数据流,现在第一个已被触发。我知道这可能是解决此问题的一种非常糟糕的方法,我很高兴听到有关如何以更简单的方式解决此问题的建议。
for i in json:
time.sleep(1)
price = i['p']
if price == "0.00000183":
print("foo")
for i in json:
time.sleep(1)
price = float(i['p'])
if price == "0.00000181":
print("sold")
else:
continue
elif price == "0.00000185":
print ("sold")
break
else:
continue
JSON 列表的示例片段:
[
{
"a":4886508,
"p":"0.00000182",
"q":"10971.00000000",
"f":5883037,
"l":5883037,
"T":1566503952430,
"m":1,
"M":1
},
{
"a":4886509,
"p":"0.00000182",
"q":"10971.00000000",
"f":5883038,
"l":5883038,
"T":1566503953551,
"m":1,
"M":1
},
{
"a":4886510,
"p":"0.00000182",
"q":"10971.00000000",
"f":5883039,
"l":5883039,
"T":1566503954431,
"m":1,
"M":1
}
]
【问题讨论】:
-
你不能只使用
continue语句而不是另一个 for 循环吗?如果您解释为什么要在列表中重复,我们可能会帮助您避免另一个循环。 -
你为什么需要做这样的事情?这真的很奇怪,它表明您可能还没有完全理解您要解决的问题,或者您还没有理解语言语法。或者它在上下文中非常有意义,但你没有给我们上下文。请解释此算法的用例。
标签: python json python-3.x list