這是情景的樣子: 我嘗試從列表中獲取最大元素,基於另一個元素,它基本上代表了我需要搜索的元素中的索引。 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