python - Python 字典更新在 for 循环中不起作用
问题描述
我有一个get_h1()
返回 2 个标签的方法:
[<h2>Запись к врачу</h2>, <h2>Запись на диагностику</h2>]
我有另一种方法,里面有一个 for 循环。它应该从方法中获取两个标签get_h1()
并在字典中添加 3 个值。但结果它只返回 1 个标签的值
def print_h1(self):
self.h1 = {}
self.h1_all = self.get_h1()
self.h1_all = [self.h.text for self.h in self.h1_all]
for self.h in self.h1_all:
self.value = self.h
self.leng = len(self.h)
if self.key in self.h:
self.key = "YES"
else:
self.key = "NO"
self.h1.update({'value':self.value, 'leng': self.leng, 'key': self.key})
return self.h1
结果如下:
{'value': 'Запись на диагностику', 'leng': 21, 'key': 'NO'}
如何获得两个标签的结果?
解决方案
从文档中:
dict.update([other])
使用其他键/值对更新字典,覆盖现有键。
你有一 self.h1
本字典,每次调用都会self.h1.update
覆盖它的数据。此外,不可能将重复的键放入字典中。
如果要存储有关多个H1 标签的数据,则应使用字典列表。
推荐阅读
- javascript - javascript中的私有字段是如何根据对象模型实现的?
- python - 读取 2 个 TXT 文件并解析文件
- javascript - 在Javascript / ReactNative中从数组中获取For of循环的值和索引的简单方法是什么?
- python-3.x - 许多条件应用于数据框列中的字符串,然后生成新列
- django - Django项目数据库
- c# - 颤动为什么我需要从另一个对象的位置中减去一个对象的位置来找到方向?
- python - 不能将数字排列成形状 (n,n) 矩阵
- java - 使用带有响应列表的 Retrofit/OkHttp 列出所有数据
- azure-databricks - Azure Databricks API:使用笔记本导入整个目录
- php - PHP仅从函数内部退出当前包含的脚本文件