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

Chương trình tìm danh sách nhân bản bằng cách nhân bản mỗi phần tử n lần


Giả sử chúng ta có một danh sách n phần tử; chúng ta phải lặp lại mỗi phần tử trong danh sách n lần.

Vì vậy, nếu đầu vào là nums = [1,5,8,3], thì đầu ra sẽ là [1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3, 3, 3, 3].

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau:

  • n := kích thước nums
  • ret := một danh sách mới
  • với mỗi num trong nums, thực hiện
    • ret := ret nối thêm danh sách với n lần num
  • trả về ret

Ví dụ

Hãy xem triển khai sau để hiểu rõ hơn:

def solve(nums):
    n = len(nums)
    ret = []
    for num in nums:
        ret += [num]*n
    return ret

nums = [1,5,8,3]
print(solve(nums))

Đầu vào

[1,5,8,3]

Đầu ra

[1, 1, 1, 1, 5, 5, 5, 5, 8, 8, 8, 8, 3, 3, 3, 3]