Danh sách Python có thể thay đổi không?

Thay đổi danh sách cần phải được thực hiện cẩn thận. Trong Python, khi chúng ta sử dụng toán tử = để "sao chép" một danh sách sang một biến khác, danh sách đó không thực sự được sao chép. Thay vào đó, cả hai biến giờ chỉ trỏ đến cùng một danh sách. Ghi chú. Đây là hành vi tương tự xảy ra trong Snap. , mà bạn có thể nhớ từ phòng thí nghiệm danh sách


>>> beatles = names
                    
Danh sách Python có thể thay đổi không?

>>> beatles
["John", "Paul", "George", "Ringo"]
                    
Danh sách Python có thể thay đổi không?

Khi một mục (a. k. một phần tử) của


>>> names
["John", "Paul", "George", "Ringo"]
                    
0 bị thay đổi, danh sách tên liên quan cũng bị thay đổi.


>>> beatles[2] = "Alonzo"
                    
Danh sách Python có thể thay đổi không?

>>> beatles
["John", "Paul", "Alonzo", "Ringo"]
>>> names
["John", "Paul", "Alonzo", "Ringo"]

                    
Danh sách Python có thể thay đổi không?

Đây là một thuộc tính quan trọng của Python. Khả năng thay đổi là khả năng một số loại dữ liệu được thay đổi mà không cần tạo lại hoàn toàn. Sử dụng các kiểu dữ liệu có thể thay đổi có thể cho phép các chương trình hoạt động nhanh chóng và hiệu quả.

Khả năng thay đổi khác nhau giữa các loại dữ liệu khác nhau trong Python. Một danh sách có thể thay đổi, như đã trình bày ở trên. Ngược lại, một chuỗi không thể thay đổi hoặc không thể thay đổi. Sửa đổi một chuỗi sẽ tạo một chuỗi mới như được minh họa tại đây


>>> a = "potato"
>>> b = a
>>> a += a
>>> a
"potatopotato"
>>> b
"potato"
        

Bạn có thể nhận thấy rằng hành vi này hoàn toàn giống với những gì xảy ra trong Snap. Trong tích tắc. danh sách có thể thay đổi và chuỗi là bất biến

Để tạo một bản sao hoàn toàn riêng biệt của một danh sách, hãy sử dụng toán tử


>>> names
["John", "Paul", "George", "Ringo"]
                    
1. Toán tử này lặp qua mọi mục của danh sách và sao chép từng mục vào một danh sách mới

Cú pháp truy cập các phần tử của danh sách cũng giống như cú pháp truy cập các ký tự của chuỗi. toán tử khung. Biểu thức bên trong ngoặc xác định chỉ số. Hãy nhớ rằng các chỉ số bắt đầu từ 0

>>> print(cheeses[0])
Cheddar

Không giống như chuỗi, danh sách có thể thay đổi vì bạn có thể thay đổi thứ tự của các mục trong danh sách hoặc gán lại một mục trong danh sách. Khi toán tử dấu ngoặc xuất hiện ở bên trái của phép gán, nó xác định phần tử của danh sách sẽ được gán

Hoạt động. CodeLens Thay đổi một mục trong danh sách. (listResign)

Phần tử thứ nhất của numbers, trước đây là 123, giờ là 5

Bạn có thể coi danh sách là mối quan hệ giữa các chỉ số và phần tử. Mối quan hệ này được gọi là ánh xạ;

Không giống như chuỗi, danh sách có thể thay đổi. Điều này có nghĩa là chúng ta có thể thay đổi một mục trong danh sách bằng cách truy cập trực tiếp vào mục đó như một phần của câu lệnh gán. Sử dụng toán tử lập chỉ mục (dấu ngoặc vuông) ở bên trái của phép gán, chúng ta có thể cập nhật một trong các mục danh sách

Phép gán cho một phần tử của danh sách được gọi là phép gán mục. Mục gán không hoạt động cho chuỗi. Nhớ lại rằng các chuỗi là bất biến

Đây là ví dụ tương tự trong codelens để bạn có thể xem qua các câu lệnh và xem các thay đổi đối với các phần tử danh sách

Hoạt động. MãLens 10. 8. 2 (mục_gán)

Bằng cách kết hợp phép gán với toán tử lát, chúng ta có thể cập nhật một số phần tử cùng một lúc

Chúng tôi cũng có thể xóa các phần tử khỏi danh sách bằng cách gán danh sách trống cho chúng

Chúng tôi thậm chí có thể chèn các phần tử vào danh sách bằng cách ép chúng vào một lát trống ở vị trí mong muốn

Có, một danh sách trong Python có thể thay đổi hoặc có khả năng thay đổi. Không giống như chuỗi, trong Python, khi danh sách được tạo, bạn có thể sử dụng câu lệnh gán để thay đổi giá trị của danh sách bằng các giá trị ở phía bên phải của câu lệnh

Thí dụ

________số 8_______

đầu ra

['mumbai', 'hyderabad', 'chandigarh']
['thiruvananthapuram', 'hyderabad', 'gandhinagar']

Khi bạn muốn tạo một bản sao của danh sách bằng cách sử dụng toán tử gán, cả hai biến danh sách đều trỏ đến cùng một danh sách, tôi. e. bất kỳ thay đổi nào trong một trong hai đều được phản ánh trong cái kia. Do đó, trong khi thay đổi danh sách, cần phải cẩn thận vì quá trình sao chép không thực sự diễn ra. Cả hai biến danh sách chỉ cần trỏ đến cùng một danh sách. Để tạo một bản sao thực sự riêng biệt của danh sách, chúng tôi sử dụng [. ] nhà điều hành. Điều này chủ yếu được sử dụng trong trường hợp chúng ta chỉ cần sao chép nội dung và 2 danh sách cần tồn tại độc lập với nhau

Ví dụ

# creating a list in Python
cities = ["mumbai", "hyderabad", "chandigarh"]
print(cities)
# creating a copy of the list using : operator
new_cities= cities[:]
print(new_cities)
# updating new list
new_cities[0]='varanasi'
print(new_cities)
print(cities)

đầu ra

['mumbai', 'hyderabad', 'chandigarh']
['mumbai', 'hyderabad', 'chandigarh']
['varanasi', 'hyderabad', 'chandigarh']
['mumbai', 'hyderabad', 'chandigarh']

Như chúng ta có thể thấy trong ví dụ trên, danh sách mới được tạo bằng cách sử dụng. toán tử là bản sao của cái cũ và không trỏ đến cùng một danh sách cũ

Đối tượng có thể thay đổi và không thể thay đổi

Danh sách Python có thể thay đổi không?

Trong Python, mỗi biến là một đối tượng trỏ đến một vị trí bộ nhớ. Nó có thể là mutable hoặc immutable. Khả năng thay đổi cho phép bạn thay đổi các giá trị hiện có của một đối tượng mà không cần tạo chúng từ đầu. Điều này giúp quản lý các chương trình nhanh chóng và hiệu quả. Trong Python, danh sách có thể thay đổi, nhưng chuỗi thì không

Đối tượng có thể thay đổi - Đối tượng có thể thay đổi có thể thay đổi trạng thái hoặc giá trị được chứa. Điều này có nghĩa là các đối tượng này có thể được thay đổi và chúng tránh được nhu cầu tạo lại các đối tượng trong trường hợp cần thay đổi. Ví dụ về các đối tượng có thể thay đổi là list, dict và set. Ví dụ

# creating a list in Python
names = ["Kusum", "Suman", "Malti"]
print(names)
# updating the list
names[0] = "Bharti"
names[-1] = "Lolita"
print(names)

đầu ra

['Kusum', 'Suman', 'Malti']
['Bharti', 'Suman', 'Lolita']

Đối tượng bất biến - Đối tượng bất biến không thể thay đổi trạng thái hoặc giá trị chứa. Khi các đối tượng như vậy được tạo, nội dung của chúng vẫn giữ nguyên. Ví dụ về các đối tượng bất biến là int, float, string và bool. Thí dụ

# creating a string with value Kusum
a = "Kusum"
print(a)
# changing a value within the string
a[4]='a'

đầu ra

Kusum
Traceback (most recent call last):
  File "main.py", line 4, in 
    a[4]='a'
TypeError: 'str' object does not support item assignment

Như chúng ta có thể thấy trong ví dụ trên, chúng ta gặp lỗi khi cố gắng thay đổi một giá trị trong chuỗi

Danh sách là động

Danh sách trong Python là động, tôi. e. danh sách có thể được mở rộng hoặc thu hẹp bằng cách thêm và xóa các phần tử. Đây là hệ quả của thuộc tính có thể thay đổi của danh sách trong Python. Từ khóa del có thể được sử dụng để thu nhỏ danh sách trong Python trong khi chúng tôi sử dụng phương thức chắp thêm để thêm các phần tử để phát triển danh sách

Thí dụ

colors = ['red', 'yellow', 'green', 'blue']
print(colors)

# Changing the value of the list
colors[2]='black'
print(colors)
colors[-1]='white'
print(colors)

# Shrinking the list
del colors[2]
print(len(colors))
print(colors)

# Growing the list
colors.append('green')
print(len(colors))
print(colors)

đầu ra

['red', 'yellow', 'green', 'blue']
['red', 'yellow', 'black', 'blue']
['red', 'yellow', 'black', 'white']
3
['red', 'yellow', 'white']
4
['red', 'yellow', 'white', 'green']

Trong ví dụ trên, chúng tôi đã có một danh sách có 4 giá trị đỏ, vàng, lục và lam. Sử dụng thuộc tính có thể thay đổi của danh sách, chúng tôi đã cập nhật giá trị thứ ba thành màu đen. Sau đó, chúng tôi đã cập nhật giá trị cuối cùng được biểu thị bằng vị trí -1 thành màu trắng. Chúng tôi cũng đã xóa phần tử thứ 3 khỏi danh sách bằng cách sử dụng từ khóa del. Điều đó làm cho độ dài của danh sách của chúng tôi 3. Chúng tôi đã thêm một giá trị 'xanh lục' vào cuối danh sách bằng phương thức nối thêm

Tìm hiểu thêm

Để biết thêm chi tiết về 'Is List Mutable in Python', vui lòng xem bài viết của chúng tôi về Mutable và Immutable trong Python

Tại sao danh sách trong Python có thể thay đổi?

Danh sách có thể thay đổi. Không giống như chuỗi, danh sách có thể thay đổi vì bạn có thể thay đổi thứ tự của các mục trong danh sách hoặc gán lại một mục trong danh sách . Khi toán tử dấu ngoặc xuất hiện ở bên trái của phép gán, nó xác định phần tử của danh sách sẽ được gán.

Tại sao một danh sách có thể thay đổi?

Không giống như chuỗi, danh sách có thể thay đổi. Điều này có nghĩa là chúng ta có thể thay đổi một mục trong danh sách bằng cách truy cập trực tiếp vào mục đó như một phần của câu lệnh gán . Sử dụng toán tử lập chỉ mục (dấu ngoặc vuông) ở bên trái của phép gán, chúng ta có thể cập nhật một trong các mục danh sách.

Là một mảng Python có thể thay đổi?

Mảng có thể thay đổi . Một mảng có thể được truy cập bằng cách sử dụng số chỉ mục của nó.

Điều gì có thể thay đổi trong danh sách Python hoặc bộ dữ liệu?

Danh sách có thể thay đổi so với Bộ dữ liệu không thể thay đổi. Danh sách có bản chất có thể thay đổi i. e. , danh sách có thể được thay đổi hoặc sửa đổi sau khi tạo theo nhu cầu trong khi tuple có bản chất bất biến i. e. , bộ không thể thay đổi hoặc sửa đổi sau khi tạo.