擅长:python、mysql、java
<p>另一种即使列表中元素的顺序发生更改也有效的解决方案:</p>
<pre><code>data = [
{"Host": "dailymotion", "Url": ""},
{"Host": "youtube", "Url": ""},
{"Host": "Vimeo", "Url": ""},
{"Host": "", "Url": "https://www.youtube.com/watch?v=uDLQfA2o0"},
{"Host": "", "Url": "https://www.dailymotion.com/video/x37j4ox"},
{"Host": "", "Url": "https://vimeo.com/42399207"},
]
hosts = [host['Host'] for host in data if host["Host"]]
urls = [host['Url'] for host in data if host["Url"]]
out = []
for host in hosts:
for url in urls:
if host.lower() in url.lower():
out.append({"Host": host, "Url": url})
break
print (out)
</code></pre>
<p>输出:</p>
<pre><code>[{'Host': 'dailymotion', 'Url': 'https://www.dailymotion.com/video/x37j4ox'}, {'Host': 'youtube', 'Url': 'https://www.youtube.com/watch?v=uDLQfA2o0'}, {'Host': 'Vimeo', 'Url': 'https://vimeo.com/42399207'}]
</code></pre>