这是情景的样子: 我尝试从列表中获取最大元素,基于另一个元素,它基本上代表了我需要搜索的元素中的索引。 foo
的长度可以更改。但测试的长度不会改变。Python - 在另一个列表中的列表中的最大值
>>> test = [1,2,3,4,5,6,7,8]
>>> foo = [1,4]
>>> print max(test[foo[1]])
该工程..
但是,当我试图做
>>> print max(test[foo])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: list indices must be integers, not list
有一些其它的方式,或者我应该是指到另一个模块? 如果是的话,可否请你提出建议。
这是*列表*,而不是*数组*。我也不清楚这里的目标是什么,你是否想要选择项目1和项目4的最大值,还是该范围或其他?你的第一个例子只是将'foo [1]'解析为'4',然后返回'test [4]',即'5',然后给出'max(5)',即'5'。 – 2013-02-25 03:12:43
起初好像是'foo'代表一个范围,但是你认为'foo'的* length *可以改变?那是什么意思? – 2013-02-25 03:14:06
@Lattyware我很抱歉,我会纠正它。 我试图从列表'foo'中的值作为索引,从测试列表中获取最大值。我现在更清楚了吗? – rnish 2013-02-25 03:22:04