Hướng dẫn what does [:: 1 mean in python? - [:: 1 có nghĩa là gì trong python?

Một khung lát có ba 'khe': bắt đầu, kết thúc và bước. . Bạn để trống, có một mặc định. [:] có nghĩa là: Toàn bộ. . [::-1] có nghĩa là: Bắt đầu ở cuối (trừ làm điều đó cho bạn), kết thúc khi không có gì rời đi và đi về phía sau 1.

Ký hiệu được sử dụng trong

a[::-1]

có nghĩa là đối với một chuỗi/danh sách/tuple đã cho, bạn có thể cắt đối tượng đã nói bằng cách sử dụng định dạng

[, , ]

Điều này có nghĩa là đối tượng sẽ cắt từng chỉ mục "bước" từ chỉ mục bắt đầu đã cho, cho đến khi chỉ số dừng (không bao gồm chỉ mục dừng) và trả lại cho bạn.

Trong trường hợp thiếu chỉ mục bắt đầu hoặc chỉ mục dừng, nó chiếm giá trị mặc định làm chỉ mục bắt đầu và chỉ mục dừng của chuỗi/danh sách/tuple đã cho. Nếu bước bị bỏ trống, thì nó sẽ lấy giá trị mặc định là 1 tức là nó đi qua mỗi chỉ mục.

Vì thế,

a = '1234'
print a[::2]

sẽ in

13

Bây giờ việc lập chỉ mục ở đây và cả số bước, hỗ trợ các số âm. Vì vậy, nếu bạn đưa ra một chỉ mục -1, nó sẽ dịch thành Len (A) -1 Index. Và nếu bạn đưa ra -x làm số bước, thì nó sẽ bước mọi giá trị x của chỉ số bắt đầu, cho đến khi chỉ số dừng theo hướng ngược lại. Ví dụ

a = '1234'
print a[3:0:-1]

Điều này sẽ trở lại

432

Lưu ý rằng nó không trả về 4321 bởi vì, chỉ số dừng không được bao gồm.

Bây giờ trong trường hợp của bạn,

str(int(a[::-1]))

sẽ chỉ đảo ngược một số nguyên đã cho, được lưu trữ trong một chuỗi, sau đó chuyển đổi nó trở lại một chuỗi

tức là "1234" -> "4321" -> 4321 -> "4321"

Nếu những gì bạn đang cố gắng làm chỉ là đảo ngược chuỗi đã cho, thì chỉ cần một [::-1] sẽ hoạt động.

[, , ]
1 trong Python thực sự làm gì và tại sao bạn muốn sử dụng nó?

[, , ]
1 Trong Python là một hoạt động lát cắt được sử dụng trên các chuỗi hoặc danh sách và nắm bắt tất cả các nội dung của chuỗi hoặc danh sách ngoại trừ ký tự hoặc phần tử cuối cùng.last character or element.

Dưới đây là một số ví dụ chứng minh hoạt động của mã này với các chuỗi:

>>> my_string = "Why?"
>>> my_string[:-1]
'Why'

Như bạn có thể thấy từ ví dụ mã đơn giản ở trên một biến

[, , ]
3 chứa một chuỗi kết thúc bằng một dấu hỏi. Bằng cách sử dụng thao tác lát cắt
[, , ]
1, nó xuất ra toàn bộ chuỗi ngoại trừ ký tự cuối cùng trong chuỗi.last character in the string.

Ở đây, một ví dụ khác sử dụng danh sách:

>>> my_list = [1, 2, 3]
>>> my_list[:-1]
[1, 2]

Như bạn có thể thấy từ ví dụ trên, nơi các danh sách được sử dụng cùng một thao tác xảy ra: mọi thứ được ghi lại từ danh sách ban đầu ngoại trừ phần tử cuối cùng.

Thay thế cho [, , ] 1

Một giải pháp thay thế cho việc sử dụng toán tử lát cắt khi xóa phần tử cuối cùng khỏi danh sách là sử dụng phương pháp danh sách tích hợp

[, , ]
6.

Phương thức danh sách

[, , ]
6 chỉ lấy một tham số, tùy chọn, đại diện cho số chỉ mục của phần tử cụ thể trong danh sách bạn muốn xóa. Nếu không có số chỉ mục được chỉ định thì phương thức theo mặc định sẽ xóa phần tử cuối cùng trong danh sách.no index number is specified then the method by default removes the last element in the list.

Ở đây, một ví dụ sử dụng phương thức danh sách

[, , ]
8:

>>> my_list = [1, 2, 3]
>>> my_list.pop()
3
>>> print(my_list)
[1, 2]

Có một sự khác biệt rất quan trọng để thực hiện ở đây so với hoạt động trước đây ở trên bằng cách sử dụng toán tử lát cắt

[, , ]
1. Lưu ý rằng trong khi cả hai tạo ra cùng một đầu ra mong muốn, biến danh sách trong đó phương thức
[, , ]
8 đã được sử dụng đã biến đổi nội dung ban đầu của biến.

Toán tử lát

[, , ]
1 là biểu thức tốc ký để tạo ra kết quả từ một chuỗi gốc hoặc biến danh sách để xóa ký tự cuối cùng trong một chuỗi hoặc phần tử cuối cùng trong danh sách.

Hoạt động lát cắt sẽ không thay đổi (thay đổi vĩnh viễn) Biến chuỗi hoặc danh sách ban đầu. Điều này có nghĩa là nếu bạn muốn tiếp tục sử dụng kết quả của thao tác này mà bạn sẽ cần lưu trữ dữ liệu vào một biến mới.not mutate (permanently change) the original string or list variable. This means if you want to continue using the result of this operation that you will need to store the data onto a new variable.

Đây là một ví dụ:

[, , ]
0

Ngược lại, nếu sử dụng một phương pháp thay thế, chẳng hạn như

[, , ]
6 trên một biến danh sách khi điều này được áp dụng, nó sẽ thay đổi vĩnh viễn nội dung của biến danh sách.

Các biến đột biến bằng cách làm cho các thay đổi vĩnh viễn có thể khiến việc gỡ lỗi mã của bạn trở nên khó khăn.

Bản tóm tắt

Để xóa ký tự cuối cùng trong một chuỗi hoặc phần tử cuối cùng trong danh sách trong Python mà không làm biến đổi biến gốc, hãy sử dụng toán tử lát cắt

[, , ]
1.last character in a string or last element in a list in Python without mutating the original variable use the slice operator
[, , ]
1.

Bằng cách sử dụng toán tử này, bạn có thể dễ dàng theo dõi nơi mọi lỗi có thể nằm trong mã Python của bạn và quá trình gỡ lỗi có thể đơn giản hơn rất nhiều để hiển thị nơi có lỗi.

[:: có nghĩa là gì trong Python?

Python sử dụng :: để tách kết thúc, bắt đầu và giá trị bước.Thực hiện theo câu trả lời này để nhận thông báo.to separate the End, the Start, and the Step value. Follow this answer to receive notifications.

Str1 [:: 1 có nghĩa là gì trong Python?

.[::-1] có nghĩa là: Bắt đầu ở cuối (trừ làm điều đó cho bạn), kết thúc khi không có gì rời đi và đi về phía sau 1.Start at the beginning, end when it ends, walk in steps of 1 (which is the default, so you don't even need to write it). [::-1] means: Start at the end (the minus does that for you), end when nothing's left and walk backwards by 1.

Cái gì [

Python cũng cho phép bạn lập chỉ mục từ cuối danh sách bằng số âm, trong đó [-1] trả về phần tử cuối cùng.Điều này là siêu hữu dụng vì nó có nghĩa là bạn không phải lập trình tìm ra độ dài của điều đáng tin cậy để làm việc với các yếu tố ở cuối của nó.returns the last element. This is super-useful since it means you don't have to programmatically find out the length of the iterable in order to work with elements at the end of it.

Mảng [::

Nó có nghĩa là "tất cả các yếu tố của chuỗi nhưng cuối cùng".all elements of the sequence but the last".