基于某种规则对一个list-dict进行排序|Python

2021-09-03  本文已影响0人  焰火青春
# coding=utf-8

urls = ['http://dblab.xmu.edu.cn/blog/spark/', 'http://dblab.xmu.edu.cn/blog/952-2/']
data_list = [
    {'url': 'http://dblab.xmu.edu.cn/blog/952-2/', 'html': '2222222222'},
    {'url': 'http://dblab.xmu.edu.cn/blog/spark/', 'html': '1111111111'},
]

html_list, url_list = [], []

url_map = {k: index for index, k in enumerate(urls)}
for item in data_list:
    url = item['url']
    html = item['html']

    html_list.insert(url_map[url], html)
    url_list.insert(url_map[url], url)

print(html_list)
print(url_list)

需求:有数据 urls、data_list,现在需要根据 urls 的顺序来排序,最终输出的结果 html_list、url_list 是相对应的,预期结果:

['1111111111', '2222222222']
['http://dblab.xmu.edu.cn/blog/spark/', 'http://dblab.xmu.edu.cn/blog/952-2/']

思路:记录 urls 中每个元素的索引位置~

上一篇下一篇

猜你喜欢

热点阅读