相关疑难解决方法(0)

在Python中将元组列表转换为Dict

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

[
('a', 1),
('a', 2),
('a', 3),
('b', 1),
('b', 2),
('c', 1),
]
Run Code Online (Sandbox Code Playgroud)

我想通过第一项来迭代这个键控,所以例如我可以打印这样的东西:

a 1 2 3
b 1 2
c 1
Run Code Online (Sandbox Code Playgroud)

如何在不保持项目跟踪第一项是否与循环元组循环相同的情况下进行此操作?这感觉相当混乱(加上我必须将列表排序开始)...

python iteration dictionary tuples list

32
推荐指数
3
解决办法
2万
查看次数

将元组列表转换为字典

我正在寻找一种方法来转换像这样的元组列表:

[(1,4),(2,4),(3,4),(4,15),(5,15),(6,23),(7,23),(8,23),(9,15),(10,23),(11,15),(12,15)]
Run Code Online (Sandbox Code Playgroud)

进入这样的字典:

{4:[1,2,3] ,15:[4,5,9,11,12], 23:[6,7,8,10]}
Run Code Online (Sandbox Code Playgroud)

来自每个元组的第二个元素变为字典键,并且与该键相关联的所有第一元组元素都存储在值列表中.

你能告诉我怎么做吗?

python dictionary list

32
推荐指数
2
解决办法
4万
查看次数

如何通过使用公共密钥对值进行求和,从一系列dicts创建单个Python dict?

我有一个词典列表,例如:

dictList = [
    {'a':3, 'b':9, 'c':4},
    {'a':9, 'b':24, 'c':99},
    {'a':10, 'b':23, 'c':88}
]
Run Code Online (Sandbox Code Playgroud)

所有词典都具有相同的键,例如a,b,c.我希望创建一个具有相同键的单个字典,其中值是原始列表中所有字典中具有相同键的值的总和.

所以对于上面的例子,输出应该是:

{'a':22, 'b':56, 'c':191}
Run Code Online (Sandbox Code Playgroud)

这样做最有效的方法是什么?我目前有:

result = {}
for myDict in dictList:
    for k in myDict:
        result[k] = result.setdefault(k, 0) + myDict[k]
Run Code Online (Sandbox Code Playgroud)

python

7
推荐指数
2
解决办法
5836
查看次数

标签 统计

python ×3

dictionary ×2

list ×2

iteration ×1

tuples ×1