如何在Python中连接不同大小的元素级两个列表?

pbg*_*gnz 5 python

我有两个字符串列表,我想按元素将它们连接起来以创建第三个列表

第三个列表应按list_1原样包含所有元素,并为每个可能的元素组合添加新元素list_1+list_2

请注意,两个列表的长度不一定相同

例:

base = ['url1.com/','url2.com/', 'url3.com/',...]

routes = ['route1', 'route2', ...]

urls = ['url1.com/' + 'url1.com/route1', 'url1.com/route2', 'url2.com/', 'url2.com/route1', 'url2.com/route2', ...]
Run Code Online (Sandbox Code Playgroud)

我尝试使用该zip方法,但未成功

urls = [b+r for b,r in zip(base,routes)]
Run Code Online (Sandbox Code Playgroud)

小智 6

[x + y for x in list_1 for y in [""] + list_2]
Run Code Online (Sandbox Code Playgroud)

产生输出:

['url1.com/',
 'url1.com/route1',
 'url1.com/route2',
 'url2.com/',
 'url2.com/route1',
 'url2.com/route2',
 'url3.com/',
 'url3.com/route1',
 'url3.com/route2']
Run Code Online (Sandbox Code Playgroud)

顺便说一句,您正在寻找的术语是笛卡尔积(稍加修改)而不是元素级联,因为您要寻找每种可能的组合。