key = ['q','w','e','r','t','y','u','i','o','p']
alp = ['a','b','c','d','e','f','g','h','i','j']
在这种情况下,如何打印这样
qa, wb, ec, rd, te .....等...
我只是想
for k in key:
for a in alp:
print(str(k) + str(a))
但这当然是错误的。
它只打印 qa qb qc qd .... wa wb wc wd .... 等等
所以我试过了
for k in key[d]:
for a in alp[d]:
print(str(k) + str(a))
d = d+1
但它只给我一个
qa
你不能使用这样的嵌套循环,因为你需要连接具有相同索引的元素。
相反,您可以在列表理解中简单地使用 zip
:
>>> print ','.join(''.join(k) for k in zip(key,alp))
qa,wb,ec,rd,te,yf,ug,ih,oi,pj
或者:
print [i+j for i,j in zip(key,alp)]
如果你的列表有不同的大小,你可以使用 itertools.izip_longet
:
>>> from itertools import izip_longest
>>> alp = ['a','b','c','d','e','f','g','h','i','j','ee','ff']
>>> list(izip_longest(alp,key))
[('a', 'q'), ('b', 'w'), ('c', 'e'), ('d', 'r'), ('e', 't'), ('f', 'y'), ('g', 'u'), ('h', 'i'), ('i', 'o'), ('j', 'p'), ('ee', None), ('ff', None)]