Python 将元组元素转换为词汇表
我需要转换如下结构:Python 将元组元素转换为词汇表,python,python-3.x,Python,Python 3.x,我需要转换如下结构: (1, 2, 3, 4, 5, 6) {1: 2, 3: 4, 5: 6} 对于这样的措辞: (1, 2, 3, 4, 5, 6) {1: 2, 3: 4, 5: 6} 如何继续?我们的想法是将元组的两个片段与步骤2结合在一起,第一个片段从第0个元素开始,第二个片段从第1个元素开始,然后将结果传递给构造函数: >>> t = (1, 2, 3, 4, 5, 6) >>> dict(zip(t[::2], t[1::2])) {1:
(1, 2, 3, 4, 5, 6)
{1: 2, 3: 4, 5: 6}
对于这样的措辞:
(1, 2, 3, 4, 5, 6)
{1: 2, 3: 4, 5: 6}
如何继续?我们的想法是将元组的两个片段与步骤2结合在一起,第一个片段从第0个元素开始,第二个片段从第1个元素开始,然后将结果传递给构造函数:
>>> t = (1, 2, 3, 4, 5, 6)
>>> dict(zip(t[::2], t[1::2]))
{1: 2, 3: 4, 5: 6}
为了扩展这一点,以下是中间值:
>>> t[::2]
(1, 3, 5)
>>> t[1::2]
(2, 4, 6)
现在,zip()
>>> zip(t[::2], t[1::2])
[(1, 2), (3, 4), (5, 6)]
然后,dict()
将使用项的第一个元素作为键,第二个元素作为值,从对列表中生成一个字典
请注意,这种方法的缺点是会在内存中创建两个额外的列表,而不是在内存中创建。尽管如此,这种方法可以说更简单、可读性更强。其思想是在步骤2中将元组的两个片段组合在一起,第一个片段从第0个元素开始,第二个片段从第1个元素开始,然后将结果传递给构造函数:
>>> t = (1, 2, 3, 4, 5, 6)
>>> dict(zip(t[::2], t[1::2]))
{1: 2, 3: 4, 5: 6}
为了扩展这一点,以下是中间值:
>>> t[::2]
(1, 3, 5)
>>> t[1::2]
(2, 4, 6)
现在,zip()
>>> zip(t[::2], t[1::2])
[(1, 2), (3, 4), (5, 6)]
然后,dict()
将使用项的第一个元素作为键,第二个元素作为值,从对列表中生成一个字典
请注意,这种方法的缺点是会在内存中创建两个额外的列表,而不是在内存中创建。不过,这种方法可以说更简单,可读性更强。将元素2配对,并将结果传递给:
通过使用here,您可以避免像[::2]
和[1::2]
切片那样创建两个内存中的列表对象。看看为什么会这样
演示:
将元素2成对排列,并将结果传递给:
通过使用here,您可以避免像[::2]
和[1::2]
切片那样创建两个内存中的列表对象。看看为什么会这样
演示: