所以我想在列表中检索列表元素的某些值而不必循环。例如,如果我想从变量消息的第二个元素中检索值“no”,我该怎么办?
message=[[0," "],[1,"yes","no","maybe"]]
我知道消息[1]会给我:
[1,"yes","no","maybe"]
此外,我还知道我可以将message [1]的值存储到新变量并使用上述技术访问该值:
list=message[1]
print (list[2])
但是,我想知道是否有一种更清洁,更简单的方法,我不知道:
答案 0 :(得分:5)
long sum = 0;
for(int i : absencesArr) {
sum += i;
}
// System.out.println("There were " + sum + " absences that day.");
System.out.printf("There were %d absences that day.%n", sum);
答案 1 :(得分:0)
从概念上考虑它。
您已经声明您知道消息[1]返回
{{1}}
这本身就是另一个清单。
由于您知道如何从列表中选择元素,因此它完全相同。您只需使用另一组括号和元素的位置选择第二个返回列表中的项目。
因为你问:
{{1}}
正是您要找的。 p>
实质上是在说:
{{1}}
这可以不断扩展,直到你到达一个不是列表或字典的元素。
答案 2 :(得分:0)
我喜欢operator.itemgetter
>>> import operator
>>> one = operator.itemgetter(1)
>>> two = operator.itemgetter(2)
>>> message=[[0," "],[1,"yes","no","maybe"]]
>>> two(one(message))
'no'
>>>