首页 > 解决方案 > python列表理解和多个变量

问题描述

我想将我的代码压缩成一行。

p = ['https://mysitea.com', 'https://mysiteb.com']
x =  []
for i in p:
    x.append(f"https://{i}/oauth2/idpresponse")
    x.append(f"https://{i}/auth")

是否可以使用列表压缩来执行它?

标签: python

解决方案


您可以在每对字符串上使用chain.from_iterablefromitertools

from itertools import chain

x = list(chain.from_iterable((f"https://{i}/oauth2/idpresponse", f"https://{i}/auth") for i in p))

推荐阅读