我們都知道python的input()函數是以字符串的形式輸入的,這就產生了一個問題:當我們在一行內輸入多個數值時,input()不會去判斷輸入元素個數,它只管把這行輸入以字符串的形式輸入,因此我們要得到每一個元素時就需要對字符串分割,再強轉成我們需要的類型。這樣做明顯很麻煩。下面我介紹一種簡單的方法:
>>> a = map(int, input('').split()) 1 2 3 >>> a <map object at 0x000001A955B69AC8>
如上面代碼所示我們成功獲得了多個輸入,但是此時還是有問題:它的類型是map對象,我們還是無法直接使用。我們只需稍作處理即可:
>>> b = list(map(int, input('').split())) 1 2 3 >>> b [1, 2, 3]
我們看到現在多個輸入值已經可以方便使用了。接下我們只需修改map中的數據類型就能得到不同類型的列表:
>>> c = list(map(float, input('').split())) 1 2 3 >>> c [1.0, 2.0, 3.0]
>>> d = list(map(str, input('').split())) 1 2 3 >>> d ['1', '2', '3']
下面這種方法比較實用,個人比較推薦:
>>> e = [int(i) for i in input('').split()] 1 2 3 >>> e [1, 2, 3]
當我們知道輸入的參數個數時,可以采用如下方法:
>>> l, r, k = map(int, input().split()) 1 2 3 >>> l 1 >>> r 2 >>> k 3
