如何";“倍增”;python中的2个列表?

如何";“倍增”;python中的2个列表?,python,Python,我有两份清单: { 'ip': ['10.100.1.38', '10.100.1.39', '10.100.1.35'], 'port': ['3380', '3381', '3382', '3383', '3384', '3385', '3386', '3387'] } 我想获得以下列表: [ "10.100.1.38::3380"... "10.100.1.38::3387", "10.100.1.39::3380"... "10.100.1.39::3387", "10.10

我有两份清单:

{
'ip': ['10.100.1.38', '10.100.1.39', '10.100.1.35'], 
 'port': ['3380', '3381', '3382', '3383', '3384', '3385', '3386', '3387']
}
我想获得以下列表:

[
 "10.100.1.38::3380"... "10.100.1.38::3387",
 "10.100.1.39::3380"... "10.100.1.39::3387",
 "10.100.1.35::3380"... "10.100.1.38::3387" 
]
我会尝试:

output = []
for ip in dict['ip']:
    for port in dict['port']:
        output.append(ip + "::" + port)

您可以使用列表理解在一行中整齐地完成此操作:

out = [ip + "::" + port for ip in input["ip"] for port in input["port"]]

伟大的!享受实现它的乐趣!如果你陷入困境,在这里问一个问题,并附上你所做的尝试和研究。这是最清晰、最简单的方法。有人会很快使用
itertools.product()
发布答案,但他们错了。:)
out = [ip + "::" + port for ip in input["ip"] for port in input["port"]]
from itertools import product

res = [ip + "::" + port for ip, port in product(d['ip'], d['port'])]