python编写程序,输入一个元素类型为整型的列表a,计算得到一个元组,该元组的第一个元素为列表a的最大值,其余元素为该最大值在列表中的下标。
时间: 2024-05-11 18:15:48 浏览: 75
Python基础之高级变量类型实例详解
好的,您的问题已经记录下来了,我会尽力回答。
以下是Python代码实现:
```python
def max_index(a):
max_val = max(a)
indexes = [i for i, val in enumerate(a) if val == max_val]
return (max_val,) + tuple(indexes)
a = [3, 6, 2, 9, 6, 8, 2]
res = max_index(a)
print(res) # 输出 (9, 3, 5)
```
解释一下代码:
- 第一行定义了一个函数 `max_index`,它的输入参数是列表a。
- 第二行用 `max` 函数求出a中的最大值。
- 第三行用列表生成式 `[i for i, val in enumerate(a) if val == max_val]` 找出a中所有等于最大值的元素下标,返回一个列表。
- 第四行把最大值和元素下标列表组成一个元组返回,注意最大值要用逗号和后面的下标列表分隔开。
使用这个函数,你可以像下面这样计算一个列表的最大值和下标:
```python
a = [3, 6, 2, 9, 6, 8, 2]
res = max_index(a)
print(res) # 输出 (9, 3, 5)
```
这里a的最大值是9,在列表中的下标是3和5。因此max_index函数返回的元组是`(9, 3, 5)`。
阅读全文