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

Python – Lặp lại giá trị theo chỉ số (Index Value repetition) trong List

Giới thiệu

Để tạo list mới nơi mỗi chỉ số (index) được lặp lại số lần bằng giá trị tại chỉ số đó, ta dùng list comprehension lồng nhau với enumerate.

Ví dụ minh họa

my_list = [4, 0, 3, 1]
print("Danh sách ban đầu:")
print(my_list)

my_result = [element for sub in ([index] * element for index, element in enumerate(my_list)) for element in sub]
print("Kết quả (index lặp lại value lần):")
print(my_result)

Kết quả đầu ra

Danh sách ban đầu:
[4, 0, 3, 1]
Kết quả (index lặp lại value lần):
[0, 0, 0, 0, 2, 2, 2, 3]

Giải thích

  • enumerate(my_list) cho cặp (index, value).
  • [index] * element tạo list chứa index lặp lại element lần.
  • Generator expression tạo ra các list con.
  • List comprehension phẳng (flatten) các list con thành một list duy nhất.
  • Giá trị 0 tại index 1 không sinh ra phần tử nào (0 lần).