Khóa học python

Thay đổi phần tử của List trong Python

0 phút đọc

Trong Python, List là một kiểu dữ liệu có thể thay đổi (mutable), nghĩa là các phần tử trong List có thể được thay đổi sau khi List đã được tạo. Điều này làm cho List trở thành một công cụ mạnh mẽ và linh hoạt để làm việc với dữ liệu. Bài viết này sẽ hướng dẫn chi tiết cách thay đổi phần tử của List trong Python, kèm theo các ví dụ minh họa.

Thay đổi phần tử đơn lẻ trong List

Chúng ta có thể thay đổi giá trị của một phần tử trong List bằng cách sử dụng chỉ số của nó. Ví dụ:

python Copy
mylist = [10, 20, 30, 40, 50, 60]
mylist[0] = 11  # Thay đổi phần tử đầu tiên
mylist[2] = 31  # Thay đổi phần tử thứ ba
mylist[-1] = 61 # Thay đổi phần tử cuối cùng
print(mylist)

Output:

Copy
[11, 20, 31, 40, 50, 61]

Thay đổi nhiều phần tử trong List

Chúng ta cũng có thể thay đổi nhiều phần tử trong List cùng một lúc bằng cách sử dụng slicing. Ví dụ:

python Copy
mylist = [10, 20, 30, 40, 50, 60]
mylist[1:3] = [21, 31]  # Thay đổi phần tử thứ hai và thứ ba
print(mylist)

Output:

Copy
[10, 21, 31, 40, 50, 60]

Nếu số lượng phần tử thay thế không bằng số lượng phần tử bị thay thế, List sẽ tự động điều chỉnh kích thước:

python Copy
mylist = [10, 20, 30, 40, 50, 60]
mylist[1:3] = [21, 31, 41]  # Thêm một phần tử mới
print(mylist)

Output:

Copy
[10, 21, 31, 41, 40, 50, 60]

Thay đổi phần tử bằng vòng lặp

Chúng ta có thể sử dụng vòng lặp để thay đổi các phần tử trong List. Ví dụ, để tăng mỗi phần tử trong List lên 2 đơn vị:

python Copy
mylist = [10, 20, 30, 40, 50, 60]
for i in range(len(mylist)):
    mylist[i] += 2
print(mylist)

Output:

Copy
[12, 22, 32, 42, 52, 62]

Thay đổi phần tử bằng List Comprehension

List comprehension là một cách ngắn gọn và hiệu quả để thay đổi các phần tử trong List. Ví dụ:

python Copy
mylist = [10, 20, 30, 40, 50]
mylist = [x + 2 for x in mylist]
print(mylist)

Output:

Copy
[12, 22, 32, 42, 52]

Thay đổi phần tử bằng hàm maplambda

Chúng ta có thể sử dụng hàm map kết hợp với lambda để thay đổi các phần tử trong List. Ví dụ:

python Copy
mylist = [10, 20, 30, 40, 50]
mylist = list(map(lambda x: x + 2, mylist))
print(mylist)

Output:

Copy
[12, 22, 32, 42, 52]

Thay đổi phần tử bằng cách sử dụng hàm enumerate

Hàm enumerate cho phép chúng ta truy cập cả chỉ số và giá trị của các phần tử trong List, giúp việc thay đổi các phần tử trở nên dễ dàng hơn. Ví dụ:

python Copy
mylist = [10, 20, 30, 40, 50]
for index, value in enumerate(mylist):
    mylist[index] = value + 2
print(mylist)

Output:

Copy
[12, 22, 32, 42, 52]

Thay đổi phần tử bằng cách sử dụng hàm replace

Mặc dù Python không có hàm replace trực tiếp cho List, chúng ta có thể tự viết một hàm để thay thế các phần tử trong List. Ví dụ:

python Copy
def replace_elements(lst, old_value, new_value):
    return [new_value if x == old_value else x for x in lst]

mylist = [10, 20, 30, 20, 50]
mylist = replace_elements(mylist, 20, 25)
print(mylist)

Output:

Copy
[10, 25, 30, 25, 50]

Thay đổi phần tử trong List lồng nhau

List trong Python có thể chứa các List khác, và chúng ta cũng có thể thay đổi các phần tử trong các List lồng nhau này. Ví dụ:

python Copy
mylist = [[10, 20, 30], [40, 50, 60], [70, 80, 90]]
mylist[0][1] = 21  # Thay đổi phần tử thứ hai của List con đầu tiên
mylist[2][0] = 71  # Thay đổi phần tử đầu tiên của List con thứ ba
print(mylist)

Output:

Copy
[[10, 21, 30], [40, 50, 60], [71, 80, 90]]

Thay đổi phần tử trong List bằng cách sử dụng hàm filter

Hàm filter có thể được sử dụng để thay đổi các phần tử trong List dựa trên một điều kiện nào đó. Ví dụ:

python Copy
mylist = [10, 20, 30, 40, 50]
mylist = list(filter(lambda x: x != 30, mylist))  # Loại bỏ phần tử có giá trị 30
print(mylist)

Output:

Copy
[10, 20, 40, 50]

Thay đổi phần tử trong List bằng cách sử dụng hàm reduce

Hàm reduce từ module functools có thể được sử dụng để thay đổi các phần tử trong List bằng cách áp dụng một hàm tích lũy. Ví dụ:

python Copy
from functools import reduce

mylist = [10, 20, 30, 40, 50]
sum_list = reduce(lambda x, y: x + y, mylist)  # Tính tổng các phần tử trong List
print(sum_list)

Output:

Copy
150

Thay đổi phần tử trong List bằng cách sử dụng hàm zip

Hàm zip có thể được sử dụng để thay đổi các phần tử trong nhiều List cùng một lúc. Ví dụ:

python Copy
list1 = [10, 20, 30]
list2 = [1, 2, 3]
result = [x + y for x, y in zip(list1, list2)]
print(result)

Output:

Copy
[11, 22, 33]

Thay đổi phần tử trong List bằng cách sử dụng hàm itertools

Module itertools cung cấp nhiều công cụ mạnh mẽ để làm việc với List. Ví dụ, chúng ta có thể sử dụng itertools.starmap để thay đổi các phần tử trong List:

python Copy
import itertools

mylist = [(1, 2), (3, 4), (5, 6)]
result = list(itertools.starmap(lambda x, y: x + y, mylist))
print(result)

Output:

Copy
[3, 7, 11]

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu cách thay đổi phần tử của List trong Python bằng nhiều phương pháp khác nhau, từ việc sử dụng chỉ số, vòng lặp, list comprehension, đến các hàm tích hợp như map, filter, reduce, và itertools. Hy vọng rằng các ví dụ minh họa này sẽ giúp bạn hiểu rõ hơn về cách làm việc với List trong Python và áp dụng chúng vào các bài toán thực tế của mình.

Avatar
Được viết bởi

Admin Team

Gợi ý câu hỏi phỏng vấn

Không có dữ liệu

Không có dữ liệu

Gợi ý bài viết
Không có dữ liệu

Không có dữ liệu

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào