我习惯使用Matlab和它强大的冒号运算符,Python中似乎也有类似的运算符,但当Python中包含dict时就不完全了,下面是我的例子:
data = [
{'key1' : 'value1', 'key2' : 'value2'},
{'key1' : 'value3', 'key2' : 'value4'},
{'key1' : 'value1', 'key2' : 'value5'}
]
data[0:2]
工作并返回[{'key1': 'value1', 'key2': 'value2'}, {'key1': 'value3', 'key2': 'value4'}]
(然而,我本能地使用0:1
来获得相同的结果)
但是data[0:2]['key2']
不执行并返回list indices must be integers, not str
我应该得出:
只能在不包含dict的list上使用的结论,还是我输入错了?
谢谢你,
1条答案
按热度按时间wfveoks01#
我应该得出
:
只能在不包含dict的list上使用的结论,还是我输入错了?这不是一个正确的结论。
:
可以与任何列表一起使用。问题是
data[0:2]
是一个列表,如果你想得到data[0:2]
中元素的'key2'
值的列表,那么你需要把它写成一个列表解析:如果您更喜欢使用运算符而不是列表解析,可以使用以下代码: