Python 使用不同大小的输入迭代构建字符串
抱歉,如果这是一种令人困惑的提问方式,请在我解释之前快速编写psuedo代码:Python 使用不同大小的输入迭代构建字符串,python,list,loops,Python,List,Loops,抱歉,如果这是一种令人困惑的提问方式,请在我解释之前快速编写psuedo代码: #for my purpose its to build urls base='www.page.com/' list1=['a','b','c','d'] list2=['1','2','3'] list3=['orange','blue','white','yellow','red','green'] for index in each list: base+=base+/list1[idx]/lis
#for my purpose its to build urls
base='www.page.com/'
list1=['a','b','c','d']
list2=['1','2','3']
list3=['orange','blue','white','yellow','red','green']
for index in each list:
base+=base+/list1[idx]/list2[idx]/list3[idx]
#desired output: 'www.page.com/a/1/orange', 'www.page.com/b/1/orange'
#and so on filling in each of them as I go
所以我要做的是构建URL,在末尾使用不同的结尾模式
我不知道该去哪里。我尝试过嵌套for循环,但它给了我一个无限循环:
清单1中的i的:
对于清单2中的j:
对于清单3中的k:
基础+=基础+i+j+k
打印(基本)
感谢您的帮助。另外,如果你能解释一下它是如何工作的,那也太棒了。你没有一个无限循环,但是你一直附加到
base
,你不应该这样做。只要做:
for i in list1:
for j in list2:
for k in list3:
url = base + i + '/' + j + '/' + k
print(url)
或者,您可以更简洁一点,使用:
您没有无限循环,但您一直在附加到
base
,您不应该这样做。只要做:
for i in list1:
for j in list2:
for k in list3:
url = base + i + '/' + j + '/' + k
print(url)
或者,您可以更简洁一点,使用:
可能是因为它会溢出底部,或者只是需要很长时间才能完成 解释:因此您的初始字符串长度为:13 您的列表长度为:4、3和6 在第一个回路基础的大小为13+13+1+1+1+1+1+1+1+6=37之后 每次迭代,您的基础大小至少增加2: 因此,在最后,基底的大小大约是:13*2^(4*3*6)=61390764277305387778048 可能有点大;) 修复:
base=['www.page.com/']
list1=['a','b','c','d']
list2=['1','2','3']
list3=['orange','blue','white','yellow','red','green']
for i in list1:
for j in list2:
for k in list3:
base.add(base[0]' '+i+' '+j+' '+k)
print(base[len(base)])
可能是因为它会溢出底部,或者只是需要很长时间才能完成 解释:因此您的初始字符串长度为:13 您的列表长度为:4、3和6 在第一个回路基础的大小为13+13+1+1+1+1+1+1+1+6=37之后 每次迭代,您的基础大小至少增加2: 因此,在最后,基底的大小大约是:13*2^(4*3*6)=61390764277305387778048 可能有点大;) 修复:
base=['www.page.com/']
list1=['a','b','c','d']
list2=['1','2','3']
list3=['orange','blue','white','yellow','red','green']
for i in list1:
for j in list2:
for k in list3:
base.add(base[0]' '+i+' '+j+' '+k)
print(base[len(base)])