0

私は2つのリストを持っています

a=[0,0.3,0.6]
b=['x','y','z']

zip を使用してそれらを辞書に結合し、それを反復処理できます (また、何らかの理由で a の zip 変更順序)。しかし、a、bを取り、出力する最短のコード(1行)を疑問に思っています

0 \t 'x'
0.3 \t 'y'
0.6 \t 'z'
4

4 に答える 4

2

zip を使用しますが、辞書は使用しません:

print '\n'.join('{} \t {}'.format(aa,bb) for aa,bb in zip(a,b))

また

print '\n'.join(map('{0[0]} \t {0[1]}'.format, zip(a,b)))
于 2013-02-21T10:30:25.567 に答える
0

for/join/map何を使用しても、あるレベルで反復しています。リスト内包表記はそれをコンパクトに (または「短く」) しprintjoined リストもコンパクトにします。mapまた、各要素を内部的に反復します。

リスト内包表記:

[print("%d\t%d\n"%(i,j)) for i,j in zip(a,b)]
于 2013-02-21T10:48:42.063 に答える