python 取一个二维列表中某值最小的元素
时间: 2024-03-27 11:35:33 浏览: 51
可以使用嵌套的列表推导式和内置函数min()来取一个二维列表中某值最小的元素。代码如下:
```python
lst = [[2, 3, 4], [1, 6, 8], [0, 5, 7]]
min_value = min(min(row) for row in lst)
min_element = [(i, j) for i, row in enumerate(lst) for j, value in enumerate(row) if value == min_value][0]
print(min_element)
```
输出:
```
(2, 0)
```
在这个例子中,我们首先使用嵌套的列表推导式来生成所有元素的坐标和值,然后使用min()函数来找出所有值中的最小值。最后,我们再次使用列表推导式来找出所有值等于最小值的元素,并返回第一个符合条件的元素的坐标。注意,这里返回的坐标是一个元组,第一个元素是行号,第二个元素是列号。
相关问题
python遍历数据某一列取最大值,并输出最大值第一次出现的位置
假设你有一个二维列表 `data`,其中包含多行多列的数据,现在要遍历其中的某一列,找到该列中的最大值,并输出该最大值第一次出现的位置。可以使用如下代码实现:
```python
def find_max_in_column(data, column_index):
max_num = data[0][column_index] # 假设第一个元素为最大值
max_index = 0 # 假设最大值位置为第一行
for i in range(1, len(data)):
if data[i][column_index] > max_num:
max_num = data[i][column_index]
max_index = i
return max_num, max_index
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 9, 8], [7, 6, 5]]
column_index = 1 # 第二列
max_num, max_index = find_max_in_column(data, column_index)
print("第", column_index+1, "列中的最大值为:", max_num)
print("最大值第一次出现的位置为:第", max_index+1, "行")
```
输出结果为:
```
第 2 列中的最大值为: 9
最大值第一次出现的位置为:第 3 行
```
在这个例子中,我们同样定义了一个名为 `find_max_in_column` 的函数,该函数接受两个参数 `data` 和 `column_index`,分别表示二维列表和要遍历的列的索引。函数中使用一个循环遍历每一行,比较该行指定列的值与之前的最大值,如果当前值更大,则更新最大值和最大值位置。最后,函数返回最大值和最大值位置。在主程序中,我们调用这个函数,并输出结果。不同的是,我们只需要输出最大值第一次出现的位置,因此不需要遍历整个列表,只需要找到最大值后返回即可。
python遍历数据某一列取最大值,并输出该列的位置
假设你有一个二维列表 `data`,其中包含多行多列的数据,现在要遍历其中的某一列,找到该列中的最大值,并输出该列的位置。可以使用如下代码实现:
```python
def find_max_in_column(data, column_index):
max_num = data[0][column_index] # 假设第一个元素为最大值
max_index = 0 # 假设最大值位置为第一行
for i in range(1, len(data)):
if data[i][column_index] > max_num:
max_num = data[i][column_index]
max_index = i
return max_num, max_index
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
column_index = 2 # 第三列
max_num, max_index = find_max_in_column(data, column_index)
print("第", column_index+1, "列中的最大值为:", max_num)
print("最大值位置为:第", max_index+1, "行")
```
输出结果为:
```
第 3 列中的最大值为: 9
最大值位置为:第 3 行
```
在这个例子中,我们定义了一个名为 `find_max_in_column` 的函数,该函数接受两个参数 `data` 和 `column_index`,分别表示二维列表和要遍历的列的索引。函数中使用一个循环遍历每一行,比较该行指定列的值与之前的最大值,如果当前值更大,则更新最大值和最大值位置。最后,函数返回最大值和最大值位置。在主程序中,我们调用这个函数,并输出结果。注意,由于 `column_index` 是从 0 开始计数的,因此在输出最大值位置时需要将其加 1。
阅读全文