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"]
["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 ....]
但是我不想在这个循环之外创建另一个列表理解,因为索引格式跑掉了。
解决方案
你的问题有点令人困惑。最后一点代码有帮助。从该代码中,您似乎只想要这个:
好的,回复您的评论,这是一种仍然存储在列表中的方法,但保留索引值和主值。您现在只有一个“元组”(就像一个列表一样)将两者保持在一起。
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 ...
到目前为止,我认为没有理由使用地图
推荐阅读
- reactjs - mapboxGL 上的单击处理程序不响应使用带有打字稿的反应钩子的更新状态
- python - 如何在 python 中使用 asyncSSH 库通过 ssh 正确发送 ~m
- javascript - Javascript 检查字符串的一部分是否包含在枚举值中
- python - 将熊猫数据框放入嵌套子字典
- python - 在 Heroku 上部署 playwright-python
- logging - 如何在手动创建的记录器(dotnet core 3.1)中配置 LogLevel
- python - 在django表单中成功提交表单后如何将address.pk作为参数传递?
- python - Telegram Bot API:如何使用 CallbackQuery.data 获取 InlineKeyboardButton 的文本?
- mysql - 如何查找 SQL 中缺勤或迟到的学生的总百分比?
- scala - Kafka Streams:无法解析重载方法