2015-04-17 82 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