繁体   English   中英

如何 select 列表对中的值 python

[英]how to select the value from list pair in python

我有下面的列表,试图提取列表对的值,例如我需要知道list中的average_buy_price是多少。

[{'enabled': True, 'total_buy_quantity': 45, 'average_buy_price': '6755.03'}]

目前它给出了error

TypeError: list indices must be integers or slices, not str

上面的 output 来自系统,我只需要 select 我需要的值。 example ( 'average_buy_price')需要得到 output 的值。 '6755.03

我注意到的一件事是,它以 [ 开始并以 ] 结束,为了测试我刚刚从 { 复制到 } 我能够提取值,看起来像我使用时的语法问题。 需要帮助。

在您的列表中只有一dictionary 要从字典访问average_buy_price ,请尝试:

test_list = [{'enabled': True, 'total_buy_quantity': 45, 'average_buy_price': '6755.03'}]
print(test_list[0].get('average_buy_price')) # output 6755.03

您有一个包含单个字典的列表。 如果要访问字典的元素,首先索引列表: test_list[0]['average_buy_price']

是的,只要你有方括号,它就是一个list ,所以它不能用字符串索引。

去掉方括号(只保留花括号)。 它不再是一个list ,而是一个dictionary ,可以用字符串键值索引。

列表中的每个元素实际上都是一本字典。 因此,遍历列表,然后获取键值对。

myList= [{'enabled': True, 'total_buy_quantity': 45, 'average_buy_price': '6755.03'}]
for d in myList:
    for k, v in d.items():
        print(k,': ',v)

Output:

enabled :  True
total_buy_quantity :  45
average_buy_price :  6755.03

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM