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