列表作为值存储在可变长度的字典-如何访问所有的最后一个列表项目?



访问所有最有效的方法是什么?存储在字典中的列表的最后一个列表项?请注意,我正在寻找一种独立于字典中项目数量的解决方案。

作为一个例子,这里我想检查一个数字是否比列表中最后的任何一项都高。我想我有一个解决方案,但它似乎很复杂,我想知道是否有更好的方法。

input_num = 5
lst_dct = {
"lstA": [5, 12, 3, 4],
"lstB": [2, 3, 7, 11],
"lstC": [3, 8, 2, 20]
}
for key, value in lst_dct.items():
if input_num < value[-1]:
print("Input is **not** the highest.")
break
else:
print("Input is the highest.")

返回正确:

Input is **not** the highest. 

你已经很接近最优了。您可以将items()调用替换为values()以节省解包并缩短代码,但仅此而已。

if any(value[-1] >= input_num  for value in lst_dct.values()):
print("Input is **not** the highest.")
else:
print("Input is the highest.")

相关内容

  • 没有找到相关文章

最新更新