Question1
本题要求将输入的任意3个整数从小到大输出。
print(*sorted(map(int,input().split())),sep="->")
注:
Python中和***的用法
- 乘法符号
a*b
- 可变长参数
当我们使用函数时,需要传入不定个数的位置参数时,就可以使用号表示,即args,以元组形式传入;需要传入不定个数的关键字参数时,使用表示,即kwargs,以字典形式传入。
def func(*args,**kwargs):
print(args)
print(kwargs)
func(1,2,3,name='xiaoqi')
# 输出结果
(1, 2, 3)
{'name': 'xiaoqi'}
- 参数解包
python中号不仅用在形参中,也可以用在实参中。当某个函数中需要不定个位置参数时,但是我们传入的实参是一个列表或元组时,就可以在列表或者元组前面加号,python会自动为我们进行解包。
b = [1,2,3,4]
print(*b)
# 输出结果
1 2 3 4
Python中的内置函数map()
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
- 语法:map(function, iterable, …)
- 参数:
function – 函数
iterable – 一个或多个序列 - 返回值
Python 2.x 返回列表。
Python 3.x 返回迭代器。
>>>def square(x) : # 计算平方数
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]
# 提供了两个列表,对相同位置的列表数据进行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]