我有以下字典:

sorted_dict = {'10': ('cola', '100', '1.0USD'), '2': ('shampoo', '300', '3.125USD'), '3': ('vaseline', '180', '10USD'), '4': ('chips', '150', '15USD'), '6': ('chocolate', '0', '20USD'), '1': ('tissue', '200', '30USD'), '5': ('cup', '0', '100USD'), '7': ('candy', '11', '135USD'), '9': ('lamp', '0', '220USD'), '8': ('juice', '15220', '1002USD')}

我想用以下格式将此词典的内容写入文本文件:

10: cola, 100, 1.0USD
2: shampoo, 300, 3.125USD
...

我试着用file.write(str(sorted_dict))打印它,但它的转换如下:

{'10': ('cola', '100', '1.0USD'), '2': ('shampoo', '300', '3.125USD'), '3': ('vaseline', '180', '10USD'), '4': ('chips', '150', '15USD'), '6': ('chocolate', '0', '20USD'), '1': ('tissue', '200', '30USD'), '5': ('cup', '0', '100USD'), '7': ('candy', '11', '135USD'), '9': ('lamp', '0', '220USD'), '8': ('juice', '15220', '1002USD')}

我怎样才能以符合上述格式的方式打印出词典的内容?

推荐答案

您需要迭代字典中的每个键值对,然后写入文件,同时使用格式字符串一次处理一对:

with open('result.txt', 'w') as file:
    for key, value in sorted_dict.items():
        file.write(f"{key}: {', '.join(value)}\n")

然后,result.txt包含:

10: cola, 100, 1.0USD
2: shampoo, 300, 3.125USD
3: vaseline, 180, 10USD
4: chips, 150, 15USD
6: chocolate, 0, 20USD
1: tissue, 200, 30USD
5: cup, 0, 100USD
7: candy, 11, 135USD
9: lamp, 0, 220USD
8: juice, 15220, 1002USD

Python相关问答推荐

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

合并同名列,但一列为空,另一列包含值

无法导入已安装的模块

将numpy矩阵映射到字符串矩阵

如何使用上下文管理器创建类的实例?

Pandas :多索引组

当密钥是复合且唯一时,Pandas合并抱怨标签不唯一

如何根据另一列值用字典中的值替换列值

将整组数组拆分为最小值与最大值之和的子数组

发生异常:TclMessage命令名称无效.!listbox"

在np数组上实现无重叠的二维滑动窗口

Pre—Commit MyPy无法禁用非错误消息

迭代嵌套字典的值

在含噪声的3D点网格中识别4连通点模式

什么是合并两个embrame的最佳方法,其中一个有日期范围,另一个有日期没有任何共享列?

为什么numpy. vectorize调用vectorized函数的次数比vector中的元素要多?

如何使用OpenGL使球体遵循Python中的八样路径?

python—telegraph—bot send_voice发送空文件

剪切间隔以添加特定日期

从源代码显示不同的输出(机器学习)(Python)