字典的字典作为值和索引作为键
Dictionary of dictionaries as values and index as keys
我需要根据词典创建一个词典(我们将其命名为 general)。 General 是一个以其他字典作为值和索引(按添加顺序)作为键的字典。
一般示例:
{
1: {'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}, #was added first
2: {'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}, #was added next (second)
3: {'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}, #was added third and so on
}
示例字典:
{'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}
我有一个生成上述字典的 for 循环,我只需要一种方法将它们附加到一个通用的键上,该键将是附加字典的顺序。
不好意思,我尽力了。
如果您想保留插入顺序,您应该使用列表而不是字典。从 Python 3.6 开始,字典保留插入顺序。但是,这个事实对大多数人来说并不是显而易见的,这使得您的代码更难理解,如果您 运行 是早于 3.6 的 Python 版本,您不能依赖此行为.
所以,你有两个选择:
- 使用列表并在需要添加时调用
.append()
。
- 如果您出于某种原因必须 使用字典,
general[len(general) + 1] = # dictionary to append
之类的东西将生成您要查找的键。但同样,出于上述原因,我会 认真地 建议反对。
此示例假设您要手动输入数据:
general = {}
def add_to_dict():
n = 0
while True:
n+=1
date = input("Enter date: "),
time = input("Enter time: "),
lat = input("Enter latitude: ")
general[f'{n}'] = {'DATE':date,'TIME':time,'LAT':lat}
another = input("Enter another? Y/N: ").capitalize().strip()
if another == 'Y':
another = True
continue
else:
print(general)
break
add_to_dict()
我需要根据词典创建一个词典(我们将其命名为 general)。 General 是一个以其他字典作为值和索引(按添加顺序)作为键的字典。
一般示例:
{
1: {'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}, #was added first
2: {'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}, #was added next (second)
3: {'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}, #was added third and so on
}
示例字典:
{'DATE: ': '2021.12.03', 'TIME: ': '01:50:08', 'LAT: ': '41.1905'}
我有一个生成上述字典的 for 循环,我只需要一种方法将它们附加到一个通用的键上,该键将是附加字典的顺序。
不好意思,我尽力了。
如果您想保留插入顺序,您应该使用列表而不是字典。从 Python 3.6 开始,字典保留插入顺序。但是,这个事实对大多数人来说并不是显而易见的,这使得您的代码更难理解,如果您 运行 是早于 3.6 的 Python 版本,您不能依赖此行为.
所以,你有两个选择:
- 使用列表并在需要添加时调用
.append()
。 - 如果您出于某种原因必须 使用字典,
general[len(general) + 1] = # dictionary to append
之类的东西将生成您要查找的键。但同样,出于上述原因,我会 认真地 建议反对。
此示例假设您要手动输入数据:
general = {}
def add_to_dict():
n = 0
while True:
n+=1
date = input("Enter date: "),
time = input("Enter time: "),
lat = input("Enter latitude: ")
general[f'{n}'] = {'DATE':date,'TIME':time,'LAT':lat}
another = input("Enter another? Y/N: ").capitalize().strip()
if another == 'Y':
another = True
continue
else:
print(general)
break
add_to_dict()