<p>我在下面编写的代码创建了一个全新的字典,其中包含您想要的结果:保留旧值,但更改与它们相关联的名称,并且仍然保持旧的顺序。此外,这本旧字典仍然保留着</p>
<p>第一个<code>for</code>循环遍历字典的每个名称,并将它们切片两次。一次删除第一个连字符(或分隔符),两次删除第二个连字符(或分隔符)。这也意味着字典名称可以是您想要的长度,但始终用连字符分隔</p>
<p>最后一个<code>for</code>循环接受新的名称列表,并用它们和旧值构造一个新字典</p>
<pre><code>old_dict = {'form-4-var0': 125547,
'form-4-var1': 'NTMC-A935',
'form-4-var2': 'OTOGL'}
old_dict_names = list(old_dict.keys())#get the names
new_dict = {}
new_dict_names = []
for i in old_dict_names:
#First slicing, losing the first hyphen
hyphen_1_pos = i.index("-")
slice_1 = i[hyphen_1_pos+1:]
print(f"First slice of {i} = {slice_1}")
#Second slicing, losing all of the hyphens leaving the desired names
hyphen_2_pos = slice_1.index("-")
slice_2 = slice_1[hyphen_2_pos+1:]
print(F"Final slice of {slice_1} = {slice_2}\n")
new_dict_names.append(slice_2)#Adding the final result to a list
print(f"New wanted names for dictionary {new_dict_names}")
for nameIndex in range(0, len(old_dict_names)):
new_name = new_dict_names[nameIndex]
old_value = old_dict.get(old_dict_names[nameIndex])
print(f"Old wanted value {nameIndex} for dictionary: {old_value}")
new_dict[new_name] = old_value
print(f"\n\nNew dictionary as requested: {new_dict}")
print(f"old dictionary {old_dict}")
</code></pre>
<p>希望这对你或其他人有帮助</p>