我正在阅读一些日志文件,其中有一个URL列表,如下所示:
url看起来像这样,每个url后面都有新行
http://domain1.com
http://domain2.com
http://domain3.com
http://domain4.com
我现在想创建一个元组,并为每个url添加一个值。所有值都相同。 应该是这样的。你知道吗
('http://domain1.com', 3)
('http://domain2.com', 3)
('http://domain3.com', 3)
('http://domain4.com', 3)
最后,为了进一步处理,我需要一个元组列表,应该如下所示:
[('http://domain1.com', 3), ('http://domain2.com', 3), ('http://domain3.com',3)...]
这是我自己尝试的:
#split urls with comma
separated_urls = url.split(', ')
num__of_lines = sum(1 for line in separated_urls)
#make a list of 3s for the length of the url list
list_of_threes = [3] * num__of_lines
combined_list = zip(separated_urls, list_of_threes)
final_list = tuple(combined_list)
print final_list
这将提供以下输出:
(('http://domain1.com', 3),)
(('http://domain2.com', 3),)
(('http://domain3.com', 3),)
(('http://domain4.com', 3),)
有没有人能帮我一点忙,让我得到想要的结果?你知道吗
谢谢
你可以用两种方法轻松地做到。你知道吗
1)环线老派:
2)或列表理解方式,如@Trengot所述:
如果您希望对列表进行任何更改,并在创建输出列表之前进行更多检查,则旧式方法更适合。对于简单的情况(即使有条件检查),列表理解是最好的方法:-)
编辑:通读您的评论,我想您需要将它们拆分为“\n”字符,而不是逗号分隔。相应地更新了代码,默认情况下使用“\n”拆分字符。你知道吗
使用列表理解
编辑:使用
split('\n')
或(split()
作为默认换行符)来拆分url列表,而不是使用split(', ')
很高兴你找到了答案。 你的代码在以下几行之前都是准确的
问题是你的演员。把
combined_list
转换成list
宾果,你得到你的输出
相关问题 更多 >
编程相关推荐