字典中有可能吗?-创建一个字典并按增量添加每个键
Is it possible in a dict?- creating a dict and adding each key by increment
我正在尝试从另一个字典中的一个字典中获取一些选择性值。
new_list = {}
for x in name_list:
y =name_list[x]
num =0
for key, value in y.items():
if value == 'a_given_string_from_key':
print(name_list[x])
num= num+1
new_list.update(num ,name_list[x])
但看起来不可能。如何解决?
输入:
name_list = {
1 : {'_name' :'gilchrist','Team_name' : 'australia'},
2 : {'_name' :'dhoni','Team_name' : 'india'},
3 : {'_name' :'prior','Team_name' : 'england'},
4 : {'_name' :'rishab','Team_name' : 'india'},
5 : {'_name' :'rahul','Team_name' : 'india'}
}
预期输入:
new_list = {
1 : {'_name' :'dhoni','Team_name' : 'india'},
2 : {'_name' :'rishab','Team_name' : 'india'},
3 : {'_name' :'rahul','Team_name' : 'india'}
}
我逐渐需要那些 new_list
键。
如果你只是更换
new_list.update(num ,name_list[x])
来自
new_list[num] = name_list[x]
这似乎符合您的要求。
update
方法可用于一次更改字典中的多个项目,方法是从另一个字典中取出它们。
但您只想一次将一项插入字典。
名称 new_list
以及您想使用递增整数作为键的事实表明您实际上希望 new_list
成为列表,而不是字典。您可以将代码更改为:
new_list = []
for y in name_list.values():
for value in y.values():
if value == 'a_given_string_from_key':
new_list.append(y)
break
结果应该类似于
new_list = [
{'_name' :'dhoni','Team_name' : 'india'},
{'_name' :'rishab','Team_name' : 'india'},
{'_name' :'rahul','Team_name' : 'india'}
]
# new_list[0] --> {'_name' :'dhoni','Team_name' : 'india'}
# new_list[1] --> {'_name' :'rishab','Team_name' : 'india'}
# etc.
我还做了一些其他的小改进,留给你去解决。
我正在尝试从另一个字典中的一个字典中获取一些选择性值。
new_list = {}
for x in name_list:
y =name_list[x]
num =0
for key, value in y.items():
if value == 'a_given_string_from_key':
print(name_list[x])
num= num+1
new_list.update(num ,name_list[x])
但看起来不可能。如何解决?
输入:
name_list = {
1 : {'_name' :'gilchrist','Team_name' : 'australia'},
2 : {'_name' :'dhoni','Team_name' : 'india'},
3 : {'_name' :'prior','Team_name' : 'england'},
4 : {'_name' :'rishab','Team_name' : 'india'},
5 : {'_name' :'rahul','Team_name' : 'india'}
}
预期输入:
new_list = {
1 : {'_name' :'dhoni','Team_name' : 'india'},
2 : {'_name' :'rishab','Team_name' : 'india'},
3 : {'_name' :'rahul','Team_name' : 'india'}
}
我逐渐需要那些 new_list
键。
如果你只是更换
new_list.update(num ,name_list[x])
来自
new_list[num] = name_list[x]
这似乎符合您的要求。
update
方法可用于一次更改字典中的多个项目,方法是从另一个字典中取出它们。
但您只想一次将一项插入字典。
名称 new_list
以及您想使用递增整数作为键的事实表明您实际上希望 new_list
成为列表,而不是字典。您可以将代码更改为:
new_list = []
for y in name_list.values():
for value in y.values():
if value == 'a_given_string_from_key':
new_list.append(y)
break
结果应该类似于
new_list = [
{'_name' :'dhoni','Team_name' : 'india'},
{'_name' :'rishab','Team_name' : 'india'},
{'_name' :'rahul','Team_name' : 'india'}
]
# new_list[0] --> {'_name' :'dhoni','Team_name' : 'india'}
# new_list[1] --> {'_name' :'rishab','Team_name' : 'india'}
# etc.
我还做了一些其他的小改进,留给你去解决。