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