我从表中提取了数据,但它不是用 TR/TD 标签制作的普通表,而是用 DIV 和 SPAN 制作的。我在字典中得到了我的数据
{'ab1911': '2', 'ab1912': '1', 'ab1938': '1', 'ab1939': '0','ab1965': '18', 'ab1966': '12', 'ab1993': '18', 'ab1994': '10','ab2021': '5', 'ab2022': '21', 'ab2049': '4', 'ab2050': '4'}.
这里字典的键是元素的唯一 ID,本质上是动态的。每次重新加载 ID 都会发生变化。
web表中的实际数据是这样的
Revision | Iteraion
2 1
1 0
18 12
18 10
5 21
4 4
我必须选择具有最大修订的行,如果修订相同,则选择具有最大迭代的行。这里正确的答案是Revision 18和Iteration 12
我在想的是,如果我可以将字典转换成这样的小字典列表
[{'ab1911': '2', 'ab1912': '1'},{'ab1938': '1', 'ab1939': '0'},{'ab1965': '8', 'ab1966': '18'},{'ab1993': '18', 'ab1994': '10'},{'ab2021': '5', 'ab2022': '21'},{'ab2049': '4', 'ab2050': '4'}]
然后比较列表中每个元素的第一个键值并找到最大值。获取值后,使用键(选择器的 ID)我可以从表中选择最大值。那么如何将字典转换为较小字典的列表
假设您想完全按照您描述的方式完成任务,而不考虑其他有关清洁或可移植性的考虑,以下代码将生成您想要查看的数组:
dict = {'ab1911': '2', 'ab1912': '1', 'ab1938': '1', 'ab1939': '0','ab1965': '18', 'ab1966': '12', 'ab1993': '18', 'ab1994': '10','ab2021': '5', 'ab2022': '21', 'ab2049': '4', 'ab2050': '4'}
arr = []
subdict = {}
itr = 0
for key,val in dict.items():
subdict.update({key : val})
itr = itr+1
if(itr == 2):
itr = 0
arr.append(subdict)
subdict = {}
print(arr)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句