我想从两个列表中生成可能的网站列表:
strings = ["string1", "string2", "string3"]
tlds = ["com', "net", "org"]
产生以下输出:
string1.com
string1.net
string1.org
string2.com
string2.net
string2.org
我必须这样做:
for i in strings:
print i + tlds[0:]
但是我无法连接str和list对象。我该如何加入这些?
答案 0 :(得分:13)
itertools.product
就是为此而设计的。
url_tuples = itertools.product(strings, tlds)
urls = ['.'.join(url_tuple) for url_tuple in url_tuples]
print(urls)
答案 1 :(得分:6)
(嵌套)列表理解将是另一种选择:
[s + '.' + tld for s in strings for tld in tlds]
答案 2 :(得分:5)
itertools
模块提供了执行此操作的功能。
from itertools import product
urls = [".".join(elem) for elem in product(strings, tlds)]
urls
变量现在保存此列表:
['string1.com',
'string1.net',
'string1.org',
'string2.com',
'string2.net',
'string2.org',
'string3.com',
'string3.net',
'string3.org']
答案 3 :(得分:2)
编写此内容的一种非常简单的方法与大多数其他语言相同。
for s in strings:
for t in tlds:
print s + '.' + t