gpt4 book ai didi

python - 将多个值的元组列表转换为 Python 中的字典

转载 作者:行者123 更新时间:2023-11-28 21:20:56 25 4
gpt4 key购买 nike

我有这个列表。

List1 = [(1L, 'Jack', 129L, 37L), (2L, 'Tom', 231L, 23L)]

我想把它转换成这样的字典;

Dict1 = {'1L': [('Jack', 129L, 37L)], '2L': [('Tom', 231L, 23L)]}

我试过 Dict1 = dict(List1) 但遇到类似“字典更新序列元素 #0 的长度为 XX ...”之类的错误

这在 Python 中如何完成?我正在使用 Python 2.7

最佳答案

dict 构造函数可以处理键/值对列表,但不能处理任意长度序列列表。一种简洁的方法是使用生成器表达式对每个子序列进行切片:

Dict1 = dict((sublist[0], sublist[1:]) for sublist in List1)

因为您使用的是 2.7,您还可以使用字典理解:

Dict1 = {sublist[0]: sublist[1:] for sublist in List1}

还有其他方法可以做到这一点,但我认为这些是最 Pythonic 的 - 支持该语法(2.7 及更高版本)的版本的字典理解或早期版本的生成器表达式。在这两种形式中,您都明确声明 dict 将每个子列表的第一个元素作为键,将其他所有元素作为值 - 字典对每个键都有一个值,即使该值本身可能有多个元素。

关于python - 将多个值的元组列表转换为 Python 中的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22086418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com