用python从列表中生成词典

2024-10-06 12:04:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要把一个列表转换成字典,如下所示。 奇数元素有键,偶数元素有值。

x = (1,'a',2,'b',3,'c')->;{1: 'a', 2: 'b', 3: 'c'}

def set(self, val_): 
    i = 0 
    for val in val_: 
        if i == 0: 
            i = 1 
            key = val 
        else: 
            i = 0 
            self.dict[key] = val 

一个更好的方法得到同样的结果?

增加

i = iter(k)
print dict(zip(i,i))

好像在工作


Tags: keygtself元素列表for字典def
3条回答
dict(x[i:i+2] for i in range(0, len(x), 2))

下面是使用听写理解的两种方法

>>> x = (1,'a',2,'b',3,'c')
>>> {k:v for k,v in zip(*[iter(x)]*2)}
{1: 'a', 2: 'b', 3: 'c'}
>>> {x[i]:x[i+1] for i in range(0,len(x),2)}
{1: 'a', 2: 'b', 3: 'c'}
dict(zip(*[iter(val_)] * 2))

相关问题 更多 >