如何在python中向字典中的键追加值

如何在python中向字典中的键追加值,python,dictionary,Python,Dictionary,假设我有一本示例词典: f = {"1", "2", "3", "4", "5", "6", "7", "8"} 我如何将一个值附加到所有值,使其看起来像: f = {"1":"one", "2":"two", "3":three", "4":"four", "5":"five", "6","six:, "7":"seven", "8":"eight"} 此示例不是一个: 字典需要对应键的值。从技术上讲,您不需要在键上“附加”值,这个词是为其他数据结构保留的,在这些数据结构中,可以从末尾插入

假设我有一本示例词典:

f = {"1", "2", "3", "4", "5", "6", "7", "8"}
我如何将一个值附加到所有值,使其看起来像:

f = {"1":"one", "2":"two", "3":three", "4":"four", "5":"five", "6","six:, "7":"seven", "8":"eight"}
此示例不是一个:

字典需要对应键的值。从技术上讲,您不需要在键上“附加”值,这个词是为其他数据结构保留的,在这些数据结构中,可以从末尾插入元素,但要为键指定值,您可以执行以下操作:

f = dict()
f['1'] = 'one'
还可以将列表/集指定给字典中的键,并将值附加到这些列表中:

z = list()
f = dict()
f['1'] = z
f['1'].append('one')

要实现您的示例,这应该做到以下几点:

import inflect

f = {"1", "2", "3", "4", "5", "6", "7", "8"}

engine = inflect.engine()
f = {k: engine.number_to_words(int(k)) for k in f}
请注意,字典没有排序,因此结果是:

{'4': 'four',
 '6': 'six',
 '8': 'eight',
 '1': 'one',
 '5': 'five',
 '3': 'three',
 '2': 'two',
 '7': 'seven'}

您的第一个示例不是字典,而是集合-您不能添加值。但是你可以从你的字典集中构造一个新的字典。您的问题有点落空,因为您不清楚从何处获取值,但字典理解可能就是您想要的,即:
{key:generate_value(key)for key in f}
。到底是什么问题?你试过什么,做过什么研究吗?堆栈溢出不是免费的代码编写服务。请参阅:,.OP需要为此安装拐点。我明白你为什么要把它包括进来了,看起来OP确实想把数字键转换成对应的单词,但是,也许仅仅为了这个任务安装屈折函数库有点太多了?因为Python 3.7,
dict
s实际上维护了插入顺序。这里的顺序不同的原因(假设您使用的是现代Python版本)实际上是因为源代码集不维护顺序。
{'4': 'four',
 '6': 'six',
 '8': 'eight',
 '1': 'one',
 '5': 'five',
 '3': 'three',
 '2': 'two',
 '7': 'seven'}