洛谷(仅用于个人学习)
# 【深基4.例2】找最小值
## 题目描述
给出 $n$ 和 $n$ 个整数 $a_i$,求这 $n$ 个整数中最小值是什么。
## 输入格式
第一行输入一个正整数 $n$,表示数字个数。
第二行输入 $n$ 个非负整数,表示 $a_1,a_2 \dots a_n$,以空格隔开。
## 输出格式
输出一个非负整数,表示这 $n$ 个非负整数中的最小值。
n = int(input())
arr = list(map(int,input().split()))
min_value = min(arr)
print(min_value)
知识点
input().split()
:这里,split()
是一个字符串方法,用于将字符串分割成一个列表。默认情况下,它使用空格作为分隔符。例如,如果用户输入的是 "1 2 3",那么split()
将返回一个列表['1', '2', '3']
。map(int, input().split())
:这里,map
是一个内置函数,它对列表中的每个元素应用一个函数。在这个例子中,我们使用int
函数将每个字符串元素转换为整数。所以,如果用户输入的是 "1 2 3",那么map(int, input().split())
将返回一个整数列表[1, 2, 3]
。list(...)
:最后,我们将map
函数的结果转换为列表。
在做这道题目过程中,一开始利用单纯的for循环,做不下去。
列表推导式是Python中一种非常简洁和强大的构造列表的方法。
它的基本格式如下:
[expression for item in iterable if condition] |
expression
是你要生成的列表中的每个元素所满足的表达式。item
是iterable
中的当前元素。if condition
是可选的,表示只有满足条件的元素才会被包含在最终的列表中。
numbers = [int(num) for num in numbers] |
int(num)
是表达式,它将每个元素(num
)从字符串转换为整数。for num in numbers
表示遍历numbers
列表中的每个元素。
这样,numbers = [int(num) for num in numbers]
这行代码的作用就是将numbers
列表中的每个字符串元素转换为整数,并返回一个新的整数列表。