当前位置: 首页 > 面试题库 >

将元组列表转换成字典

阴凯歌
2023-03-14
问题内容

我有一个这样的元组列表:

[
('a', 1),
('a', 2),
('a', 3),
('b', 1),
('b', 2),
('c', 1),
]

我想在第一项中遍历此键,因此,例如,我可以打印如下内容:

a 1 2 3
b 1 2
c 1

我该如何在不保持项目跟踪第一个项目是否与我在元组周围循环相同的情况下进行此操作?感觉很乱(而且我必须先对列表进行排序)…


问题答案:
l = [
('a', 1),
('a', 2),
('a', 3),
('b', 1),
('b', 2),
('c', 1),
]

d = {}
for x, y in l:
    d.setdefault(x, []).append(y)
print d

产生:

{'a': [1, 2, 3], 'c': [1], 'b': [1, 2]}


 类似资料:
  • 问题内容: 我如何转换 至 问题答案: 使用简单的列表理解: 会给你:

  • 问题内容: 我已经编写了此函数,用于将元组列表转换为列表列表。有没有更优雅的/ Pythonic的方式来做到这一点? 问题答案: 您可以使用列表推导:

  • 问题内容: 将元组列表转换为字符串的最Python方式是哪种? 我有: 而且我要: 我对此的解决方案是: 有没有更Python的方式来做到这一点? 问题答案: 您可能想使用一些简单的方法,例如: ..这很方便,但不能保证能正常工作

  • 问题内容: 我是Python的新手,需要将列表转换为字典。我知道我们可以将元组列表转换为字典。 这是输入列表: 并且我想将此列表转换为元组列表(或直接转换为字典),如下所示: 我们如何在Python中轻松做到这一点? 问题答案: 您想一次将三个项目分组吗? 您想一次分组N个项目吗?

  • 我正在尝试将列表的元组转换为列表,但是我没有成功,所以我有了这个函数 获取输入,例如: ( [1,2,3,4], [7,8,9] ) 并应返回: [1,7,2,8,3,9,4] 我有 结果是: [1,7,2,8,3,9***异常:hw2.hs:29: 1-54:函数函数中的非穷尽模式 我知道我得到这个错误,因为列表是不一样的大小,你们怎么认为我可以解决这个问题

  • 问题内容: 假设你有: 产生以下字典的最简单方法是什么? 问题答案: 像这样: Voila 成对的·构造函数和·函数非常有用: