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]