Đôi khi, trong khi làm việc với việc hiển thị nội dung của danh sách, các dấu ngoặc vuông, cả mở và đóng đều không mong muốn. Đối với điều này, khi chúng ta cần in toàn bộ danh sách mà không cần truy cập các phần tử cho các vòng lặp, chúng ta cần một phương thức để thực hiện điều này. Hãy thảo luận về một tốc ký mà nhiệm vụ này có thể được thực hiện.
Phương pháp 1. Sử dụng str[] + cắt danh sách
Cách viết tắt có thể được áp dụng mà không cần truy cập từng phần tử của danh sách là chuyển đổi toàn bộ danh sách thành một chuỗi và sau đó loại bỏ ký tự đầu tiên và cuối cùng của danh sách bằng cách sử dụng cắt danh sách. Điều này sẽ không hoạt động nếu danh sách chứa một chuỗi. Trong trường hợp đó, mỗi phần tử có thể được nối bằng cách sử dụng phép nối [], như đã thảo luận trong nhiều bài viết khác.
Python3
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 210
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 211
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 212
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 213
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 214
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 215
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 216
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 217
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 210
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 211
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 210
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 213
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 210
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 215
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 210
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 217
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 210
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 219
The original list is : [5, 6, 8, 9, 10, 21] List after removing square brackets : 5, 6, 8, 9, 10, 2100
Đối với danh sách và các chuỗi có thể thay đổi khác [nhưng không phải chuỗi], bạn có thể ghi đè lên một giá trị tại một chỉ mục cụ thể bằng toán tử gán [=]
Các số âm bên trong dấu ngoặc chỉ khiến Python bắt đầu đếm từ cuối chuỗi, thay vì từ đầu. Ví dụ: biểu thức x[-1] đánh giá mục cuối cùng của danh sách x, x[-2] đánh giá mục thứ hai đến cuối cùng của danh sách x, v.v.
Cuối cùng, dấu ngoặc chỉ mục được sử dụng để truy xuất hoặc đặt giá trị cho một khóa đã cho trong từ điển. Ví dụ: biểu thức x[a] đánh giá bất kỳ giá trị nào của khóa a có trong từ điển x. Câu lệnh x[a] = b sẽ đặt giá trị cho khóa a trong từ điển x thành giá trị mới b [ghi đè bất kỳ giá trị hiện có nào]
Việc chỉ định một chỉ mục vượt quá giới hạn của chuỗi sẽ tạo ra một ngoại lệ IndexError. Cố gắng truy xuất giá trị cho một khóa không tồn tại trong từ điển sẽ gây ra ngoại lệ KeyError
Khi bạn sử dụng [], nó có nghĩa là “thực hiện đối tượng chức năng bên trái của tôi. ” Đối tượng hàm thường được tham chiếu bởi một biến, chẳng hạn như “myfunc[]”. Trong trường hợp đó, dấu [] nhìn sang bên trái của chúng, xem “myfunc”, tìm chức năng mà chúng đề cập đến và thực hiện chức năng đó
Nếu “myfunc” trả về một chức năng thì sao? . Trong trường hợp như vậy, bạn có thể nói “myfunc[][]”. Dấu ngoặc đơn đầu tiên gọi hàm được gọi bởi “myfunc”. Hàm thứ hai [] gọi hàm “myfunc” *đã trả về*
Hồi đáp
tại
Cụ thể về pytest, tôi chỉ tìm thấy cấu trúc này trong một bài kiểm tra mà tôi chưa từng thấy trước đây
def test_some_primes[].
xác nhận 37 trong {
num
cho num trong phạm vi [1, 50]
. = 1 chứ không phải bất kỳ[[num % div == 0 for div in range[2, num]]]
}
Có lẽ đây là một tạo phẩm của pytest, nhưng tôi tự hỏi liệu bằng cách nào đó, nó là một cấu trúc ẩn có thể được sử dụng chung hay không, và nếu vậy thì nó được chấp nhận ở lĩnh vực nào?
URL tôi nhận được từ này là
https. //trăn thật. com/pytest-python-testing/#what-makes-pytest-so-useful
Hồi đáp
tại
Hãy nhìn vào dấu ngoặc đơn
[1] Ở bên ngoài, bạn thấy {}. Điều này có nghĩa là nó sẽ là một từ điển hoặc một bộ. Nếu có dấu hai chấm [. ] giữa khóa và giá trị, thì đó là từ điển. Không có dấu hai chấm, đó là một tập hợp
[2] Từ điển này có một cặp khóa-giá trị. Chìa khóa là “Kênh”. Và giá trị là một danh sách
[3] Danh sách gồm hai phần tử. Mỗi yếu tố đó là một từ điển
[3] Mỗi từ điển có hai cặp khóa-giá trị. Các phím giống hệt nhau trong cả hai từ điển [“tên” và “thumb”]. Các giá trị là chuỗi
Điều này có nghĩa không?
Hồi đáp
reuven nói.tại
Nếu bạn đang sử dụng [[]], thì có thể là do bạn đang gọi một hàm và muốn chuyển một danh sách làm đối số cho hàm đó. Ví dụ,
'*'. tham gia [['abc', 'de', 'fgh']]
Ở đây, tôi đang chuyển một danh sách các chuỗi tới '*'. tham gia
Tương tự, nếu bạn gọi một hàm và muốn chuyển một lệnh [hoặc một tập hợp đối với vấn đề đó] làm đối số, bạn sẽ sử dụng [{}]
Mỗi bộ dấu ngoặc đơn mô tả một cấu trúc dữ liệu riêng biệt. Điều đó nói rằng, trong khi [] có thể đại diện cho một bộ, trong trường hợp bạn đã mô tả, nó sẽ phải là một lệnh gọi hàm — vì một bộ có một đối số duy nhất vẫn phải có dấu phẩy