这与这个问题有某种关系.
我必须列出网址.第一个清单是:
http://example.com/1/1.jpg
http://example.com/2/2.jpg
http://example.com/3/3.jpg
...
http://example.com/45000/45000.jpg
Run Code Online (Sandbox Code Playgroud)
第二个列表是第一个列表的一个子集:它由真实 URL组成,不是断开链接.
http://example.com/12/12.jpg
http://example.com/23/23.jpg
http://example.com/34/34.jpg
...
Run Code Online (Sandbox Code Playgroud)
我想知道如何以一种我可以拥有这样的方式对它进行排序
...
None
http://example.com/12/12.jpg
None
None
...
None
http://example.com/23/23.jpg
None
...
Run Code Online (Sandbox Code Playgroud)
关键是要有一个排序列表,我可以在最终的csv文件中将正确的URL放在正确的位置.
我试过这个读取第一个列表并尝试匹配第二个列表中的项目,但我没有使用双循环和匹配模式.
我从文件中读取列表,使用open():这意味着我必须处理换行符(这似乎是一个问题).
你可以使用一个简单的list-comp和这样的三元条件
>>> orig = ['http://example.com/1/1.jpg','http://example.com/2/2.jpg','http://example.com/3/3.jpg']
>>> real = ['http://example.com/1/1.jpg']
>>> [i if i in real else None for i in orig]
['http://example.com/1/1.jpg', None, None]
Run Code Online (Sandbox Code Playgroud)
如果将real列表存储到集合中会更好,因为处理速度会更快.在这种情况下,代码将是
>>> orig = ['http://example.com/1/1.jpg','http://example.com/2/2.jpg','http://example.com/3/3.jpg']
>>> real = ['http://example.com/1/1.jpg']
>>> real_set = set(real)
>>> [i if i in real_set else None for i in orig]
[u'http://example.com/1/1.jpg', None, None]
Run Code Online (Sandbox Code Playgroud)
感谢mata和Cuadue使用套装的第二个版本.检查下面的评论.