Facebook
From DUY, 1 Month ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 169
  1. StudentList = [['Nguyễn Đức Bill', 6],['Đặng Nguyễn Nguyên Duy', 4], ['Bùi Đỗ Nhật Nam Anh', 7]]
  2. for x in StudentList:
  3.     x[0] = ' '.join(reversed(x[0].split(' ')))
  4.     #split = [Nguyễn, Đức, Bill]
  5.     #reversesplit [Bill, Đức, Nguyễn]
  6. StudentList.sort(key = lambda x:x[1])#: hàm sort dùng để lọc một danh sách theo một cách nhất định nào đó (thông qua điều kiện "key" ở trong ngoặc)
  7. #Ở đây key là một hàm lambda, lấy đầu vào x và đầu ra là x[1], khi ta đặt hàm lambda này ở trong hàm sort, nó sẽ lấy luôn đầu vào là danh sách được sort
  8. #Nó trả về đầu ra là StudentList[1], vì StudentList là một danh sách có các danh sách con, nên việc chỉ định giá trị [1]
  9. #Sẽ lấy giá trị thứ [1] (tính từ 0) của từng danh sách con, khi key được đặt là StudentList[1], thì hàm sort sẽ sắp xếp theo thứ tự
  10. #xét theo giá trị đó (ví dụ ở đây StudentList[1] là [6, 4, 7] là các giá trị biến nguyên, nó sẽ được sắp xếp theo thứ tự tăng dần của cách giá trị)
  11. #trong đó sự sắp xếp được thực hiện cho cả danh sách con mà các giá trị đó thuộc về, nghĩa là nếu ['Duy', 4] có giá trị StudentList[1] là 4,
  12. #có giá trị thấp nhất thì khi sắp xếp xong, cả danh sách con sẽ ở vị trị đầu tiên
  13.  
  14. FlunkStudents = list(filter(lambda x:x[1] < 5, StudentList))
  15. #hàm filter lọc một danh sách bằng cách giữ những phần tử thỏa mãn một điều kiện nhất định, ở đây điều kiện là lambda x:x[1] < 5
  16. #hàm filter có StudentList là danh sách đầu vào được lọc, đầu vào này cũng được truyền luôn vào hàm lambda, nên output của hàm sẽ là StudentList[1]
  17. #cái output đó được so sánh <5, nếu thỏa mãn thì giữ ở lại, xong đầu ra của hàm filter cho vào danh sách mới FlunkStudents
  18. for index, value in enumerate(StudentList):
  19.     #Hàm enumerate trả về hai giá trị index and value từ danh sách, hàm index là vị trị trong danh sách của biến đang chạy,
  20.     #và hàm value lấy giá trị của biến đó
  21.     if index < len(StudentList) - 1:
  22.         print(value[0], str(value[1]) + ', ', end='')
  23.     else:
  24.         print(value[0], str(value[1]))
  25.     #in value[0] và value[1], vì value có giá trị là danh sách con, nên đánh số sẽ chọn phần tử ở vị trí của danh sách, "end=''" để kết thúc lệnh in
  26.     #bằng khoảng trống
  27. print('Học sinh trượt:', end=' ')
  28. for index, value in enumerate(FlunkStudents):
  29.     #Hàm enumerate trả về hai giá trị index and value từ danh sách, hàm index là vị trị trong danh sách của biến đang chạy,
  30.     #và hàm value lấy giá trị của biến đó
  31.     if index < len(FlunkStudents) - 1:
  32.         print(value[0], str(value[1]) + ', ', end='')
  33.     else:
  34.         print(value[0], str(value[1]))
  35.     #in value[0] và value[1], vì value có giá trị là danh sách con, nên đánh số sẽ chọn phần tử ở vị trí của danh sách, "end=''" để kết thúc lệnh in
  36.     #bằng khoảng trống