Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Gán nhiều biến bằng giá trị danh sách trong Python


Tùy vào nhu cầu chương trình, ta có thể cần gán các giá trị trong một danh sách cho nhiều biến cùng lúc để dùng cho tính toán ở phần còn lại của chương trình. Bài viết này khám phá các cách tiếp cận để đạt được điều này.

Sử dụng for in

Vòng lặp for giúp duyệt qua các phần tử của danh sách cho trước trong khi gán chúng cho các biến được khai báo theo trình tự cho trước. Ta phải đề cập vị trí chỉ mục của các giá trị sẽ được gán cho biến.

Ví dụ

listA = ['Mon', ' 2pm', 1.5, '11 miles'] # Danh sách cho trước print("Danh sách cho trước A: " ,listA) # sử dụng for in vDay, vHrs, vDist = [listA[i] for i in (0, 2, 3)] # Kết quả print ("Các biến : " + vDay + ", " + str(vHrs) + ", " +vDist)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước A: ['Mon', ' 2pm', 1.5, '11 miles'] Các biến : Mon, 1.5, 11 miles

Sử dụng itemgetter

Hàm itemgetter từ module operator sẽ lấy mục cho các chỉ mục được chỉ định. Ta gán trực tiếp chúng cho các biến.

Ví dụ

from operator import itemgetter listA = ['Mon', ' 2pm', 1.5, '11 miles'] # Danh sách cho trước print("Danh sách cho trước A: " ,listA) # sử dụng itemgetter vDay, vHrs, vDist = itemgetter(0, 2, 3)(listA) # Kết quả print ("Các biến : " + vDay + ", " + str(vHrs) + ", " +vDist)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước A: ['Mon', ' 2pm', 1.5, '11 miles'] Các biến : Mon, 1.5, 11 miles

Sử dụng itertools.compress

Hàm compress từ module itertools sẽ lấy các phần tử bằng cách sử dụng giá trị Boolean cho các vị trí chỉ mục. Vì vậy, với vị trí chỉ mục 0, 2 và 3, ta đề cập giá trị 1 trong hàm compress và sau đó gán giá trị lấy được cho các biến.

Ví dụ

from itertools import compress listA = ['Mon', ' 2pm', 1.5, '11 miles'] # Danh sách cho trước print("Danh sách cho trước A: " ,listA) # sử dụng itemgetter vDay, vHrs, vDist = compress(listA, (1, 0,1, 1)) # Kết quả print ("Các biến : " + vDay + ", " + str(vHrs) + ", " +vDist)

Kết quả

Chạy mã trên cho kết quả sau −

Danh sách cho trước A: ['Mon', ' 2pm', 1.5, '11 miles'] Các biến : Mon, 1.5, 11 miles