輸入
由空格分隔的一行數據,輸入到列表中
list = input().split(" ")
input()函數輸入值的類型默認是字符串,split()函數表示分隔數據串的依據,括號里面就是按什么分隔,比如按逗號分割的話就是將雙引號中的空格改成逗號,示例如下
list = [int(ls) for ls in list]
或者
list = [int(list[i]) for i in range(len(list))]
中間是for循環的簡化用法,這樣較為簡單的將列表里面的數據類型進行了轉換,如下
如果是并不想將數據輸入到列表中,而是直接輸入到變量中
一個數據直接以整數形式輸入到變量中
a = int(input())
兩個以空格分隔的數據直接輸入到變量中
a,b = map(int, input().split())
map()函數語法如下
map() 會根據提供的函數對指定序列做映射。 map(function, iterable, …) function – 函數 iterable – 一個或多個序列 個參數 function,以參數序列中的每一個元素調用function函數,返回包含每次function函數返回值的新列表。
此函數返回的是一個迭代器,在此,初學者并不需要具體知道這是什么。
如果對上述函數的介紹并不是很明白的話,簡單來說,就是將序列里面的數據一個個傳入到函數中,函數傳回的每個結果我們可以用變量接收。也就是我們傳入的字符串被按空格分隔成序列后,序列里的每個值經int()函數轉換后輸出到變量a,b中
至于這次的split()函數中并沒有寫參數的原因是,split()函數里參數的默認值就是空格,所以,當split()函數中的參數是空格時,不用填入可以直接使用
所以,上面說到的list列表里面的輸入和轉換,可以直接簡化為
list = map(int, input().split(' '))
輸出
輸出列表中數據時,很多時候我們并不想要輸出括號和引號,這個只需要在輸出時稍稍改動一下就行了
print(' '.join(list))
單引號中的符號表示這些數據以什么分隔,如下
print(i,end = ' ')
print中的end參數控制輸入的數據用什么間隔,默認值是’n’,將其的值改成別的符號,就能控制輸出數據的分隔符號
list.append()在使用前,如果list列表在之前未賦值,則需要在之前用list = []賦值一下,不然會報錯:descriptor ‘append’ of ‘list’ object needs an argument
一重列表的初始化有很多方法,比如直接賦值,通過range()函數等,雙重列表的初始化:list = [[0 for i in range(5)]for i in range(6)],這就是定義了一個五列六行的列表,并初始化為0