Python 循环字典时在列表中存储值

Python 循环字典时在列表中存储值,python,Python,我希望将值存储在列表中。让我的代码解释一下: 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"]

我希望将值存储在列表中。让我的代码解释一下:

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”]的形式存储。我知道我可以把它存储在列表“s”中。但是,由于某些原因,我仍然需要编写一些函数和其中的规则,因此无法将其存储在此列表“s”中。有没有办法根据我在列表“store”而不是列表“s”中的预期输出来追加它

更新:我也知道我们可以这样做:

s = []
for i, x in enumerate(:something:):
    if ......:
        s.append()
store = [x["value"] for i,x in enumerate(:something:) if ....]

但是我不想在这个循环之外创建另一个列表,因为索引格式正在消失。

您的问题有点让人困惑。最后一段代码很有帮助。从代码来看,似乎你只是想要这个:

好的,回应您的评论,这里有一种方法仍然可以存储在列表中,但保留索引值和主值。现在,您只需要一个“tuple”(就像一个列表一样)就可以将两者保持在一起

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 ...

到目前为止,我认为没有理由使用映射

是的,我知道这也是一种方法,但我不知道如何保留索引值。也许我不应该把“store”作为列表,我应该把它放到字典“store”中,然后在其中包含每个x[“value”]的索引值。有什么好的推荐吗?非常感谢先生,我现在就试试。如果你需要写评论,但你还没有写评论的名声,那么请不要写。写一个答案并不是一个合适的“变通方法”。StackOverflow.Ha中的工作方式有其原因。我更新了我的答案,结果取消了投票。我以前没注意到S.O.这么做。没什么大不了的,但是请随意投票支持我的新答案,在那里我只是拿出了关于答案是一个正在进行的工作的最初部分。嗯,@Adrian,我总是喜欢反馈。但是,如果你在评论答案之前阅读了答案中的内容,并把它弄错了,这是很有帮助的。我没有说我没有声誉来添加评论。我说过我想向OP展示一些代码,但不能将代码放在注释中,使其可读。如果您能给我一个官方的S.O.方法来有效地处理这个问题,我将来一定会遵循这个方法。否则,我就得到了他想要的答案。如果结果是这样,问题是什么?是否只希望存储[]列表中最后一次迭代的值,而s[]将保存for循环的所有迭代的值?如果不是,您需要在循环之外声明Store[]。如果您希望他人提供帮助,请至少提供有效代码<代码>s.append()对于列表无效。还有,谁知道你的
:某物是什么?你能举个例子来说明你的问题吗?
for i, valueofx in store:
   ... use i and valueofx ...