私は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'
私は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'
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)))
for/join/map
何を使用しても、あるレベルで反復しています。リスト内包表記はそれをコンパクトに (または「短く」) しprint
、join
ed リストもコンパクトにします。map
また、各要素を内部的に反復します。
リスト内包表記:
[print("%d\t%d\n"%(i,j)) for i,j in zip(a,b)]