gpt4 book ai didi

Python 字典打印第一次出现

转载 作者:行者123 更新时间:2023-11-28 19:40:14 27 4
gpt4 key购买 nike

在 Python 中,我目前有一个字典(它有一个来自列表中列表的复合键),当我打印它时它看起来类似于以下内容:

第一个值是一个数字,第二个值(A 或 B)是指一个文本值,数字是它们出现在原始列表列表中的次数计数,该列表源自该字典。

我需要的是一种以下列格式打印数据的方法。对于字典中唯一出现的数值(即在本例中为第一个和第三个值),打印出关联的文本值及其计数。所以它看起来像

类型:111 文本计数

       A     4
B 10

Total: 14

类型:112 文本计数

       A      3

Total: 3

我知道在结合 If 语句时我需要使用某种 while 循环。根据我迄今为止的研究(与我迄今为止所学的 Python 相关),我需要使用 if 语句编写循环以仅打印我想打印的内容。所以我需要在第一次出现时打印新的数值,而不是第二次(或第三次或第四次等)出现时。我假设要部分执行此操作,我将它们放在一个变量中,然后将它们与当前值进行比较。如果它们相同,我不打印它们,但如果它们不同,我打印旧数值的“总计”,将其添加到总计中,然后打印新的。

最佳答案

我会使用对象的层次结构,而不是一个平面字典,例如字典中的字典、字典中的元组等。

考虑一个在字典中包含字典的例子:

data = { 
'111': {
'A': 4,
'B': 10,
},
'112': {
'A': 3
},
}

现在您可以更轻松地访问内容。例如在“111”内显示属性:

for key in data['111']:
print "%s\t%s" % (key, data['111'][key])

可以通过组合两个 for 循环来稍微简单地创建所需的输出:

for datatype in data:
print("Type: %s Text Count" % datatype)
items = data[datatype]
total = 0
for key in items:
print "%s\t%s" % (key, items[key])
total += items[key]
print("Total:\t%s\n" % total)

使用给定的数据运行上面的代码将产生以下输出:

Type: 111 Text Count
A 4
B 10
Total: 14

Type: 112 Text Count
A 3
Total: 3

关于Python 字典打印第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12915668/

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