例如,我有一个ASCII字符列表,想要用一个零列表来压缩它们,这些零列表等于ASCII列表中的字符数,
像:
import string
a = string.printable
#Gives all ASCII characters as a list ^
b = zeroes * len(a)
c = zip(a,b)
那样的东西?
答案 0 :(得分:11)
你可以使用词典理解:
{ x:0 for x in string.printable}
答案 1 :(得分:8)
有一种标准方法:
mydict = dict.fromkeys(string.printable, 0)
或者,如果你需要一个元组列表(说实话,Martijn的版本更加pythonic,但只是为了变化):
import itertools
tuples = zip(string.printable, itertools.repeat(0))
答案 2 :(得分:2)
只需使用列表理解:
c = [(i, 0) for i in a]
答案 3 :(得分:1)
它可能对您没有帮助,但如果您打算使用字典计算,则可以使用defaultdict
。
from collections import defaultdict
my_dict = defaultdict(int)
默认情况下,任何键都设置为0。
>>> print my_dict['a']
0
答案 4 :(得分:0)
如果你需要一个清单,也许就是这样:
import string
c = zip(string.printable, [0]*len(string.printable))