Trong bài này, chúng ta sẽ thấy cách yêu cầu người dùng nhập các phần tử của danh sách và cuối cùng tạo danh sách với các giá trị đã nhập.
Với format và input
Hàm format có thể dùng để điền giá trị vào placeholder, và hàm input sẽ bắt giá trị người dùng nhập. Cuối cùng, ta thêm các phần tử vào danh sách lần lượt.
Ví dụ
listA = []
# Nhập số phần tử
n = int(input("Nhập số phần tử trong danh sách: "))
# Lặp qua phạm vi
for i in range(0, n):
print("Nhập phần tử số-{}: ".format(i+1))
elm = int(input())
listA.append(elm) # thêm phần tử
print("Danh sách đã nhập: \n", listA) Kết quả
Chạy mã trên cho kết quả sau:
Nhập số phần tử trong danh sách: 4 Nhập phần tử số-1: 7 Nhập phần tử số-2: 45 Nhập phần tử số-3: 1 Nhập phần tử số-4: 74 Danh sách đã nhập: [7, 45, 1, 74]
Với map
Cách khác là yêu cầu người dùng nhập các giá trị liên tục nhưng phân cách bằng dấu phẩy. Ta dùng hàm map để gom các đầu vào thành danh sách.
Ví dụ
listA = []
# Nhập số phần tử
n = int(input("Nhập số phần tử trong danh sách: "))
# Nhập các phần tử phân cách bằng dấu phẩy
listA = list(map(int, input("Nhập các số: ").strip().split(',')))[:n]
print("Danh sách đã nhập: \n", listA) Kết quả
Chạy mã trên cho kết quả sau:
Nhập số phần tử trong danh sách: 4 Nhập các số: 12,45,65,32 Danh sách đã nhập: [12, 45, 65, 32]
Nhập danh sách lồng nhau (list of lists)
Ta cũng có thể dùng hàm input hai lần để tạo danh sách các danh sách. Dùng range để theo dõi số phần tử cần nhập và format để nhập từng phần tử. Cuối cùng, thêm từng phần tử nhập vào danh sách mới tạo.
Ví dụ
listA = []
# Nhập số phần tử
n = int(input("Nhập số phần tử trong danh sách: "))
# Mỗi danh sách con có hai phần tử
for i in range(0, n):
print("Nhập phần tử số-{}: ".format(i + 1))
ele = [input(), int(input())]
listA.append(ele)
print("Danh sách đã nhập: \n", listA) Kết quả
Chạy mã trên cho kết quả sau:
Nhập số phần tử trong danh sách: 2 Nhập phần tử số-1: 'Mon' 3 Nhập phần tử số-2: 'Tue' 4 Danh sách đã nhập: [["'Mon'", 3], ["'Tue'", 4]]