Python 将两个列表合并到一个词典中或打印它们(最短方式)
我有两张单子Python 将两个列表合并到一个词典中或打印它们(最短方式),python,list,dictionary,Python,List,Dictionary,我有两张单子 a=[0,0.3,0.6] b=['x','y','z'] 我可以使用zip将它们合并到字典中,并对其进行迭代(出于某种原因,zip更改了一个字典的顺序)。但我想知道最短的代码(一行代码),需要a,b和打印出来 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)) 或 使用zip,但不使用字典: print '\n
a=[0,0.3,0.6]
b=['x','y','z']
我可以使用zip将它们合并到字典中,并对其进行迭代(出于某种原因,zip更改了一个字典的顺序)。但我想知道最短的代码(一行代码),需要a,b和打印出来
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))
或
使用zip,但不使用字典:
print '\n'.join('{} \t {}'.format(aa,bb) for aa,bb in zip(a,b))
或
使用
邮政编码很容易:
print '\n'.join(str(i)+' \t '+str(j) for i, j in zip(a, b))
或:
或者当然是使用的格式。使用zip很容易:
print '\n'.join(str(i)+' \t '+str(j) for i, j in zip(a, b))
或:
或者当然是使用的格式。创建dict的最佳方法是理解(尽管是zip…)
创建dict的最好方法是理解(尽管是zip…)
对于/join/map
无论您使用什么,您都在某种程度上进行迭代。列表理解使其紧凑(或“更短”),打印和加入列表也是如此<代码>映射
还对每个元素进行内部迭代
列表理解:
[print("%d\t%d\n"%(i,j)) for i,j in zip(a,b)]
对于/join/map
无论您使用什么,您都在某种程度上进行迭代。列表理解使其紧凑(或“更短”),打印和加入列表也是如此<代码>映射
还对每个元素进行内部迭代
列表理解:
[print("%d\t%d\n"%(i,j)) for i,j in zip(a,b)]
字典没有排序zip()
不会更改输入的顺序。也许您对输入感到困惑?字典没有顺序zip()
不会改变输入的顺序。也许您对自己的输入感到困惑?这只在Python 3中起作用,除此之外,这是一种非常糟糕的样式。@volatile,您能解释一下这其中的糟糕之处吗?列表comps应该用于创建列表,而不是多次执行某个操作。这只在Python 3中起作用,而且最糟糕的样式是。@volatile,你能解释一下什么是最糟糕的吗?列表comps应该用来制作列表,而不是多次执行某个操作。