Python 代码:使用 sorted() 函数排序字典,根据特定列的值
以下代码使用 Python 的 sorted() 函数对字典 rows 进行排序,根据字典中每个值特定列的值进行排序:
sorted(rows.keys(), key=lambda k: rows[k].split('<td>')[3].split('</td>')[0], reverse=True)
代码解析:
sorted(rows.keys(), ...): 使用sorted()函数对rows字典的键进行排序。key=lambda k: ...: 使用lambda表达式定义排序规则。rows[k].split('<td>')[3]: 获取字典中每个值rows[k]的特定列,这里假设目标列是<td>标签中的第四列。split('</td>')[0]: 获取第四列的值,并将其作为排序依据。reverse=True: 指定排序顺序为降序。
示例:
假设字典 rows 的结构如下:
rows = {
'row1': '<td>value1</td><td>value2</td><td>value3</td><td>10</td><td>value5</td>',
'row2': '<td>value1</td><td>value2</td><td>value3</td><td>5</td><td>value5</td>',
'row3': '<td>value1</td><td>value2</td><td>value3</td><td>15</td><td>value5</td>'
}
使用上述代码进行排序后,rows 字典的键将按照第四列的值降序排序,结果为:
['row3', 'row1', 'row2']
注意事项:
- 此代码假设字典
rows中每个值的格式均为包含<td>标签的字符串。 - 目标列的索引(这里是 3)可以根据实际情况进行调整。
- 可以根据需要更改排序顺序(
reverse=True或reverse=False)。
其他排序方法:
除了使用 sorted() 函数,还可以使用 collections.OrderedDict 或其他排序算法来对字典进行排序。具体方法取决于实际需求。
原文地址: https://www.cveoy.top/t/topic/hmBq 著作权归作者所有。请勿转载和采集!