dict.values() 没有提供 python 中的所有值
dict.values() doesn't provide all the values in python
dict.values() 不提供在 for 循环中检索的所有值。我使用 for 循环从文本文件中检索值。
test = {}
with open(input_file, "r") as test:
for line in test:
value = line.split()[5]
value = int(value)
test[value] = value
print (value)
test_list = test.values()
print (str(test_list))
值和 test_value 不包含相同数量的数据
输出结果如下:
来自打印"value":
88
53
28
28
24
16
16
12
12
11
8
8
8
8
6
6
6
4
4
4
4
4
4
4
4
4
4
4
4
2
2
2
2
2
来自打印test_list:
list values:dict_values([16, 24, 2, 4, 53, 8, 88, 12, 6, 11, 28])
有没有办法将重复值也包含到列表中?
这一行:
test[value] = value
如果 test
是重复的,则不会向 test
添加新值,它只会覆盖旧值。所以任何重复项都会被删除。 values()
调用真正返回了字典中保留的所有内容。
Dictionary 键不能包含重复项。当您执行 test[value] = value
时,键 value
处的旧值将被覆盖。因此,您只能获得一组有限的值。
样本测试可以
>>> {1:10}
{1: 10}
>>> {1:10,1:20}
{1: 20}
在这里你可以看到,重复的键被新值覆盖了
POST 评论编辑
正如您所说,您想要一个值列表,您可以在开头有一个语句 l = []
并在 test[value] = value
[=17= 的位置有 l.append(value)
]
这是因为 python 字典不能有重复值。每次你 运行 test[value] = value
,它都会替换一个现有的值,或者如果它不在字典中则添加它。
例如:
>>> d = {}
>>> d['a'] = 'b'
>>> d
{'a': 'b'}
>>> d['a'] = 'c'
>>> d
{'a': 'c'}
我建议将其列为一个列表,例如:
output = []
with open(input_file, "r") as test:
for line in test:
value = line.split()[5]
value = int(value)
output.append(value)
print (value)
print (str(output))
dict.values() 不提供在 for 循环中检索的所有值。我使用 for 循环从文本文件中检索值。
test = {}
with open(input_file, "r") as test:
for line in test:
value = line.split()[5]
value = int(value)
test[value] = value
print (value)
test_list = test.values()
print (str(test_list))
值和 test_value 不包含相同数量的数据
输出结果如下:
来自打印"value":
88
53
28
28
24
16
16
12
12
11
8
8
8
8
6
6
6
4
4
4
4
4
4
4
4
4
4
4
4
2
2
2
2
2
来自打印test_list:
list values:dict_values([16, 24, 2, 4, 53, 8, 88, 12, 6, 11, 28])
有没有办法将重复值也包含到列表中?
这一行:
test[value] = value
如果 test
是重复的,则不会向 test
添加新值,它只会覆盖旧值。所以任何重复项都会被删除。 values()
调用真正返回了字典中保留的所有内容。
Dictionary 键不能包含重复项。当您执行 test[value] = value
时,键 value
处的旧值将被覆盖。因此,您只能获得一组有限的值。
样本测试可以
>>> {1:10}
{1: 10}
>>> {1:10,1:20}
{1: 20}
在这里你可以看到,重复的键被新值覆盖了
POST 评论编辑
正如您所说,您想要一个值列表,您可以在开头有一个语句 l = []
并在 test[value] = value
[=17= 的位置有 l.append(value)
]
这是因为 python 字典不能有重复值。每次你 运行 test[value] = value
,它都会替换一个现有的值,或者如果它不在字典中则添加它。
例如:
>>> d = {}
>>> d['a'] = 'b'
>>> d
{'a': 'b'}
>>> d['a'] = 'c'
>>> d
{'a': 'c'}
我建议将其列为一个列表,例如:
output = []
with open(input_file, "r") as test:
for line in test:
value = line.split()[5]
value = int(value)
output.append(value)
print (value)
print (str(output))