Python 创建值与另一个字典中的键相同的字典
也许拥有一个值与其键相同的字典是编程拙劣的标志。在这两种情况下,创建值与键相同的字典的最佳或最优雅的方法是什么,其中键取自另一个字典?换句话说,我想在这里实现Python 创建值与另一个字典中的键相同的字典,python,Python,也许拥有一个值与其键相同的字典是编程拙劣的标志。在这两种情况下,创建值与键相同的字典的最佳或最优雅的方法是什么,其中键取自另一个字典?换句话说,我想在这里实现dict2,而不需要显式填充它: dict1 = {'a': 'value 1', 'b' : 'value 2', 'c' : 'value 3'} dict2 = {'a' : 'a', 'b' : 'b', 'c' : 'c'} 也在哪里 topDict[1] = dict1 topDict[2] = dict2 实际应用中的键1
dict2
,而不需要显式填充它:
dict1 = {'a': 'value 1', 'b' : 'value 2', 'c' : 'value 3'}
dict2 = {'a' : 'a', 'b' : 'b', 'c' : 'c'}
也在哪里
topDict[1] = dict1
topDict[2] = dict2
实际应用中的键
1
和2
是语言代码,2
表示的语言是“本机”语言,因此在dict2
的情况下,嵌套词典的键不是要翻译的,而是按原样使用。使用dict理解:
dict2 = {k: k for k in dict1}
这只是在dict1的所有键上循环,并将该键作为每个键值对的值进行回显。我不确定您是否需要字典。看看:
字典是翻译地图;查查原文,得到译文。为“原始语言”使用字典可以使翻译代码更简单,因为它不需要特殊情况。谢谢@MartijnPieters,我只是想可能是OP不知道集合,并尝试用dictionary@HaiVu:否,数据结构的其余部分都是字典。使用一个集合会使代码复杂化。我不熟悉集合,但根据Martijn Pieters的评论,我认为它们不是我要寻找的(尽管我会更深入地研究它们)。在较旧版本的python中,您可能必须使用dict()函数:dict([(k,k)表示dict1中的k])@MayurPatel:您可以省略那里的
[…]
。
s = set(dict1.keys())