0
url_params = {}
for i in t:
try:
url_params[i] = t.next()
except:
url_params[i] = None
因为这对我来说看起来很愚蠢。我通过配对相邻元素将列表转换为字典。然而,有些情况下,我不会总是有一对。拖尾元素仍然很重要,但它的价值并不重要。有没有更好的方法来为next指定一个默认值
url_params = {}
for i in t:
try:
url_params[i] = t.next()
except:
url_params[i] = None
因为这对我来说看起来很愚蠢。我通过配对相邻元素将列表转换为字典。然而,有些情况下,我不会总是有一对。拖尾元素仍然很重要,但它的价值并不重要。有没有更好的方法来为next指定一个默认值
这更容易这样做:
from itertools import izip_longest
url_params = dict(izip_longest(*[iter(t)] * 2))
示例:t = range(11)
,这将产生
{0: 1, 2: 3, 4: 5, 6: 7, 8: 9, 10: None}
也可以工作:
>>> dict(zip(t[::2], t[1::2]+[None]))
{0: 1, 2: 3, 4: 5, 6: 7, 8: 9, 10: None}
此获胜。谢谢你一百万。我早先使用这个错误,并感到沮丧。 – Matt 2011-06-09 00:11:35