Nếu bạn muốn sửa đổi danh sách tại chỗ, cách tốt nhất là lặp lại từ phía sau và gán một lát trước đây là một mục trước đây cho danh sách mục đó
def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
4 lần.Điều này hoạt động vì phân công lát cắt:
>>> ls = [1, 2, 3]
>>> ls[0: 0+1]
[1]
>>> ls[0: 0+1] = [4, 5, 6]
>>> ls
>>> [4, 5, 6, 2, 3]
def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
Sử dụng bản demo:
>>> a = [1, 2, 3]
>>> b = a
>>> b
[1, 2, 3]
>>> repeat_elements[b, 3]
>>> b
[1, 1, 1, 2, 2, 2, 3, 3, 3]
>>> a
[1, 1, 1, 2, 2, 2, 3, 3, 3]
. và phương thức
def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
7]def repeat_elements[ls, times]:
ls = list[ls] # Makes a copy
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
return ls
Danh sách trong Python là một trong những cấu trúc dữ liệu được sử dụng nhiều nhất. Chúng tôi đã thảo luận về các hoạt động khác nhau trong các danh sách như đếm tần số của các phần tử trong danh sách hoặc đảo ngược danh sách. Trong bài viết này, chúng tôi sẽ xem xét các cách khác nhau để lặp lại các yếu tố của một danh sách trong Python.
Để lặp lại các yếu tố trong danh sách trong Python, chúng tôi chèn các yếu tố hiện có của danh sách vào cùng một danh sách. Theo cách này, các yếu tố trong danh sách được lặp lại. Phương thức mở rộng [] hoặc toán tử * để lặp lại các phần tử của một danh sách trong Python. Chúng tôi sẽ thảo luận chi tiết về tất cả các phương pháp này trong các phần sau.
For instance, If we have a list
def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
8 and we have to repeat the elements of the list two times, the output list will become def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
9.We can use the append[] method, the extend[] method, or the * operator to repeat elements of a list in python. We will discuss all these methods in detail in the following sections.
Lặp lại các phần tử của danh sách bằng phương thức append []
Phương thức append [] được sử dụng để nối các phần tử vào danh sách cuối cùng. Khi được gọi trên một danh sách, phương thức append [] lấy một phần tử và thêm nó vào danh sách như được hiển thị bên dưới.
myList = [1, 2, 3, 4, 5]
print["The given list is:", myList]
number = 10
print["The input number to append to list is:", number]
myList.append[number]
print["The output list is:", myList]
Output:
The given list is: [1, 2, 3, 4, 5]
The input number to append to list is: 10
The output list is: [1, 2, 3, 4, 5, 10]
Để lặp lại các yếu tố của danh sách n lần, trước tiên chúng tôi sẽ sao chép danh sách hiện có vào danh sách tạm thời. Sau đó, chúng tôi sẽ thêm các phần tử của danh sách tạm thời vào danh sách ban đầu n lần sử dụng phương thức Loop, Range [] và phương thức append []. Sau khi thực hiện vòng lặp For, các phần tử trong danh sách sẽ được lặp lại n lần như trong ví dụ sau.
myList = [1, 2, 3, 4, 5]
print["The given list is:", myList]
tempList = list[myList]
count = 2
print["Number of Times to repeat the elements:",count]
for i in range[count]:
for element in tempList:
myList.append[element]
print["The output list is:", myList]
Output:
The given list is: [1, 2, 3, 4, 5]
Number of Times to repeat the elements: 2
The output list is: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
Lặp lại các phần tử của danh sách bằng phương thức mở rộng []
Thay vì thêm từng phần tử bằng một phương thức sử dụng phương thức append [], chúng ta có thể sử dụng phương thức mở rộng [] để thêm toàn bộ các phần tử của danh sách cùng một lúc để lặp lại chúng. Phương thức mở rộng [], khi được gọi trong danh sách, chấp nhận danh sách dưới dạng các đối số đầu vào và thêm danh sách đầu vào vào danh sách hiện có như được hiển thị bên dưới.
myList = [1, 2, 3, 4, 5]
print["The given list is:", myList]
newList = [6, 7]
print["The input list to append elements from is:", newList]
myList.extend[newList]
print["The output list is:", myList]
Output:
The given list is: [1, 2, 3, 4, 5]
The input list to append elements from is: [6, 7]
The output list is: [1, 2, 3, 4, 5, 6, 7]
Để lặp lại các phần tử của danh sách bằng phương thức Extend [], chúng tôi sẽ sao chép các phần tử của danh sách hiện có trong danh sách tạm thời. Sau đó, chúng tôi sẽ sử dụng phương thức mở rộng [] với vòng lặp để lặp lại các phần tử của danh sách như sau.
def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
0Output:
The given list is: [1, 2, 3, 4, 5]
Number of Times to repeat the elements: 2
The output list is: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
Sử dụng toán tử *
Toán tử * cũng có thể được sử dụng để lặp lại các yếu tố của một danh sách. Khi chúng tôi nhân danh sách với bất kỳ số nào bằng toán tử *, nó sẽ lặp lại các phần tử của danh sách đã cho. Ở đây, chúng ta chỉ cần nhớ rằng để lặp lại các yếu tố n lần, chúng ta sẽ phải nhân danh sách với [n+1].
def repeat_elements[ls, times]:
for i in range[len[ls] - 1, -1, -1]:
ls[i: i+1] = [ls[i]] * times
2Output:
The given list is: [1, 2, 3, 4, 5]
Number of Times to repeat the elements: 2
The output list is: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
Sự kết luận
Trong bài viết này, chúng tôi đã thảo luận về ba cách để lặp lại các yếu tố của một danh sách trong Python. Trong tất cả các cách tiếp cận trên, cách tiếp cận sử dụng toán tử * là hiệu quả và dễ thực hiện nhất. Vì vậy, tôi sẽ đề nghị bạn sử dụng phương pháp này để lặp lại các yếu tố của một danh sách trong Python. Để biết thêm về danh sách trong Python, bạn có thể đọc bài viết này về danh sách hiểu trong Python.
Khuyến nghị đào tạo Python
Khóa học: Python 3 cho người mới bắt đầu
Hơn 15 giờ nội dung video với hướng dẫn hướng dẫn cho người mới bắt đầu. Tìm hiểu làm thế nào để tạo các ứng dụng trong thế giới thực và làm chủ những điều cơ bản.