2015-04-17 52 views
1
key = ['q','w','e','r','t','y','u','i','o','p'] 
alp = ['a','b','c','d','e','f','g','h','i','j'] 

在这种情况下,如何打印这样如何打印列表索引

QA,世界银行,欧盟,RD,TE .....等等

我只是想

for k in key: 
    for a in alp: 
     print(str(k) + str(a)) 

但当然是错的。 它打印只是执行质量检查QB QC QD .... WA WB WD厕所等....

所以我尝试

for k in key[d]: 
    for a in alp[d]: 
     print(str(k) + str(a)) 
     d = d+1 

,但它给我的只有一个

qa 

回答

4

你可以不要使用嵌套循环,因为您需要连接具有相同索引的元素。

相反,你可以在列表解析中只需使用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)] 
+0

如果列表大小不同,会发生什么情况? –

+1

@nivixzixer检查编辑! ;) – Kasramvd

+0

圣洁华丽谢谢kasra –

0
x=len(key) 
for d in xrange(0,x): 
    print key[d]+alp[d] 

输出:

qa 
wb 
ec 
rd 
te 
yf 
ug 
ih 
oi 
pj