Hướng dẫn change value in tuple python - thay đổi giá trị trong tuple python
Bộ dữ liệu không thể thay đổi, có nghĩa là bạn không thể thay đổi, thêm hoặc xóa các mục sau khi bộ tuple được tạo. Show
Nhưng có một số cách giải quyết. Thay đổi giá trị tupleKhi một tuple được tạo, bạn không thể thay đổi giá trị của nó. Bộ dữ liệu không thể thay đổi, hoặc bất biến vì nó cũng được gọi.unchangeable, or immutable as it also is called. Nhưng có một cách giải quyết. Bạn có thể chuyển đổi tuple thành một danh sách, thay đổi danh sách và chuyển đổi danh sách trở lại thành một bộ. Thí dụChuyển đổi tuple thành một danh sách để có thể thay đổi nó: x = ("Apple", "chuối", "Cherry") y = list (x) y [1] = "kiwi" x = tuple (y) print(x) Hãy tự mình thử » Thêm các mụcVì các bộ dữ liệu là bất biến, chúng không có phương pháp tích hợp 7, nhưng có nhiều cách khác để thêm các mặt hàng vào một tuple.1Convert into a list: Just like the workaround for changing a tuple, you can convert it into a list, add your item(s), and convert it back into a tuple. Thí dụChuyển đổi tuple thành một danh sách, thêm "màu cam" và chuyển đổi nó trở lại thành một tuple: Thistuple = ("Apple", "Banana", "Cherry") y = list (Thistuple) Y.Append ("Orange") Thistuple = tuple (y) Hãy tự mình thử » Thêm các mụcAdd tuple to a tuple. You are allowed to add tuples to tuples, so if you want to add one item, (or many), create a new tuple with the item(s), and add it to the existing tuple: Thí dụChuyển đổi tuple thành một danh sách, thêm "màu cam" và chuyển đổi nó trở lại thành một tuple: Thistuple = ("Apple", "Banana", "Cherry") y = list (Thistuple) Y.Append ("Orange") Thistuple = tuple (y) 2. Thêm tuple vào một tuple. Bạn được phép thêm bộ dữ liệu vào bộ dữ Hãy tự mình thử » Thêm các mục When creating a tuple with only one item, remember to include a comma after the item, otherwise it will not be identified as a tuple. Vì các bộ dữ liệu là bất biến, chúng không có phương pháp tích hợp In [3]: d = tuple(range(10)) In [4]: %timeit replace_at_index1(d, 5, 99) 1000000 loops, best of 3: 872 ns per loop In [5]: %timeit replace_at_index2(d, 5, 99) 1000000 loops, best of 3: 642 ns per loop 7, nhưng có nhiều cách khác để thêm các mặt hàng vào một tuple.1 You cannot remove items in a tuple. Thí dụunchangeable, so you cannot remove items from it, but you can use the same workaround as we used for changing and adding tuple items: Thí dụChuyển đổi tuple thành một danh sách, thêm "màu cam" và chuyển đổi nó trở lại thành một tuple: Thistuple = ("Apple", "Banana", "Cherry") y = list (Thistuple) Y.Append ("Orange") Thistuple = tuple (y) Hãy tự mình thử » Thêm các mục Thí dụChuyển đổi tuple thành một danh sách, thêm "màu cam" và chuyển đổi nó trở lại thành một tuple: Thistuple = ("Apple", "Banana", "Cherry") y = list (Thistuple) Y.Append ("Orange") Thistuple = tuple (y) Hãy tự mình thử » Cách cắt một danh sách, chuỗi, tuple trong Python
Vì vậy, phương pháp nào tốt hơn, đó là, nhanh hơn? Nó chỉ ra rằng đối với các bộ dữ liệu ngắn (trên Python 3.3), sự kết hợp thực sự nhanh hơn!
Tuy nhiên, nếu chúng ta nhìn vào các bộ dữ liệu dài hơn, việc chuyển đổi danh sách là cách để đi:
Đối với các bộ dữ liệu rất dài, chuyển đổi danh sách là tốt hơn đáng kể!
Ngoài ra, hiệu suất của phương pháp nối phụ thuộc vào chỉ số mà chúng tôi thay thế phần tử. Đối với phương thức danh sách, chỉ mục là không liên quan.
Vì vậy: nếu bộ của bạn ngắn, lát và nối. Nếu nó dài, hãy chuyển đổi danh sách! Trong Python, vì 9 là bất biến, bạn không thể cập nhật nó, tức là, bạn không thể thêm, thay đổi hoặc loại bỏ các mục (phần tử) trong 9. 9 đại diện cho dữ liệu mà bạn không cần cập nhật, vì vậy bạn nên sử dụng 2 thay vì 9 nếu bạn cần cập nhật nó. Tuy nhiên, nếu bạn thực sự cần cập nhật 9, bạn có thể chuyển đổi nó thành 2, cập nhật nó và sau đó biến nó trở lại thành 9.Bài viết này mô tả các nội dung sau đây.
Lưu ý rằng, mặc dù các từ như "thêm", "thay đổi" và "loại bỏ" được sử dụng để thuận tiện, trong thực tế, một đối tượng mới được tạo và đối tượng gốc không được cập nhật. In [3]: d = tuple(range(10)) In [4]: %timeit replace_at_index1(d, 5, 99) 1000000 loops, best of 3: 872 ns per loop In [5]: %timeit replace_at_index2(d, 5, 99) 1000000 loops, best of 3: 642 ns per loop 9 là bất biếnNối một mục vào 9
Thêm/chèn các mục vào 9
Xóa các mục trong 9
Lưu ý rằng, mặc dù các từ như "thêm", "thay đổi" và "loại bỏ" được sử dụng để thuận tiện, trong thực tế, một đối tượng mới được tạo và đối tượng gốc không được cập nhật.
Nối một mục vào In [3]: d = tuple(range(10)) In [4]: %timeit replace_at_index1(d, 5, 99) 1000000 loops, best of 3: 872 ns per loop In [5]: %timeit replace_at_index2(d, 5, 99) 1000000 loops, best of 3: 642 ns per loop 9Thêm/chèn các mục vào 9
Thay đổi mục trong 9 0Xóa các mục trong 9 1Lưu ý rằng, mặc dù các từ như "thêm", "thay đổi" và "loại bỏ" được sử dụng để thuận tiện, trong thực tế, một đối tượng mới được tạo và đối tượng gốc không được cập nhật.
Thêm/chèn các mục vào In [3]: d = tuple(range(10)) In [4]: %timeit replace_at_index1(d, 5, 99) 1000000 loops, best of 3: 872 ns per loop In [5]: %timeit replace_at_index2(d, 5, 99) 1000000 loops, best of 3: 642 ns per loop 9Nếu bạn muốn thêm các mục mới ở đầu hoặc kết thúc vào 9, bạn có thể kết hợp nó với toán tử 1 như được mô tả ở trên, nhưng nếu bạn muốn chèn một mục mới ở bất kỳ vị trí nào, bạn cần chuyển đổi một bản.Chuyển đổi 9 thành 2 với 8.
2Chèn một mục với 9.
3Chuyển đổi 2 thành 9 với 2. 4Thay đổi mục trong In [3]: d = tuple(range(10)) In [4]: %timeit replace_at_index1(d, 5, 99) 1000000 loops, best of 3: 872 ns per loop In [5]: %timeit replace_at_index2(d, 5, 99) 1000000 loops, best of 3: 642 ns per loop 9Bạn có thể thay đổi các mục của tuple theo cùng một cách. Chuyển đổi 9 thành 2, cập nhật nó và biến nó trở lại thành 9. 5Xóa các mục trong In [3]: d = tuple(range(10)) In [4]: %timeit replace_at_index1(d, 5, 99) 1000000 loops, best of 3: 872 ns per loop In [5]: %timeit replace_at_index2(d, 5, 99) 1000000 loops, best of 3: 642 ns per loop 9Bạn cũng có thể loại bỏ các mục của tuple theo cùng một cách. 6Trong ví dụ trên, 8 được sử dụng, nhưng bạn cũng có thể sử dụng 9 và 8.
|