我希望将值存储在列表中。让我的代码解释一下:
s = []
for i, x in enumerate(:something:):
if ......:
s.append()
store = []
elif x["some"] == :againsomething:
store.append(x["value"]) // here it will store the output one by one.
我的输出是:
["Man"]
["Eater"]
我在“已存储”列表中的预期存储:
["Man", "Eater"]
两者都是字符串,并存储在单独的列表中,但我希望将其以[“ Man”,“ Eater”]的形式存储。我知道我可以将其存储在列表“ s”中。但是,由于某些原因,我仍然需要编写函数并在其中编写规则,因此无法将其存储在此列表“ s”中。有没有一种方法可以根据我在列表“ store”而不是列表“ s”中的预期输出将其追加?
更新:我也知道我们可以这样:
s = []
for i, x in enumerate(:something:):
if ......:
s.append()
store = [x["value"] for i,x in enumerate(:something:) if ....]
但是由于索引格式用尽,我不想在此循环之外创建另一个列表理解。
答案 0 :(得分:1)
您的问题有点令人困惑。最后的代码会有所帮助。从该代码来看,似乎您只想要这样:
好吧,回应您的评论,这是一种仍然存储在列表中,但保留索引值和主值的方法。现在,您只有一个“元组”(就像一个列表一样),可以将两者保持在一起。
s = []
store = []
for i, x in enumerate(:something:):
if ......:
s.append()
if x["some"] == :againsomething:
store.append((i, x["value"]))
这将使您可以再次进行迭代,但仅取决于其中的内容 像这样的“商店”:
for i, valueofx in store:
... use i and valueofx ...
到目前为止,我认为没有理由使用地图