Sử dụng dấu phẩy ở cuối để tạo một bộ có một phần tử, e. g.
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]0. Một bộ với một mục được xây dựng bằng cách theo sau một giá trị bằng dấu phẩy. Kèm theo giá trị trong dấu ngoặc đơn là không đủ để tạo một bộ dữ liệu
Chúng tôi đã sử dụng dấu phẩy ở cuối để tạo bộ dữ liệu có 1 mục
Vì tài liệu nêu rõ việc xây dựng các bộ dữ liệu với mục
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]1 được thực hiện bằng cách theo sau một giá trị bằng dấu phẩy
Lưu ý rằng việc đặt giá trị trong dấu ngoặc đơn là không bắt buộc, nhưng làm cho mã của bạn dễ đọc hơn
Ví dụ: cả hai biến này chỉ lưu trữ một bộ dữ liệu với 1 mục
my_tuple_1 = [100,]
my_tuple_2 = 100,
Không đủ để bọc một giá trị trong dấu ngoặc đơn để tạo một bộ dữ liệu
Dấu phẩy ở sau giá trị là sự khác biệt giữa việc tạo một bộ [có dấu phẩy ở cuối] hoặc tạo một giá trị thuộc loại khác [không có dấu phẩy ở cuối]
Ví dụ đầu tiên sử dụng dấu phẩy sau giá trị, vì vậy cuối cùng chúng ta tạo một bộ
Ví dụ thứ hai chỉ cần đặt một giá trị trong dấu ngoặc đơn, vì vậy chúng ta sẽ tạo ra một số nguyên
Tuples được xây dựng theo nhiều cách
- Sử dụng một cặp dấu ngoặc đơn
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
2 tạo một bộ dữ liệu trống - Sử dụng dấu phẩy ở cuối -
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
3 hoặc['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
4 - Phân tách các mục bằng dấu phẩy -
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
5 hoặc['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
6 - Sử dụng hàm tạo
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
7
Nên sử dụng cú pháp tương tự khi tạo danh sách các bộ dữ liệu hoặc sử dụng các bộ dữ liệu làm khóa hoặc giá trị từ điển
Ngoài ra, bạn có thể sử dụng lớp
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]7
Sử dụng lớp
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]7 để tạo một bộ với một mục, e. g.
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]01. Lớp
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]7 lấy một iterable làm đối số và xây dựng một tuple từ iterable
Lớp tuple nhận tối đa 1 đối số - một đối số có thể lặp lại
Nếu bạn không chắc loại biến lưu trữ, hãy sử dụng lớp
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]03 tích hợp
Lớp kiểu trả về kiểu của một đối tượng
Hàm isinstance trả về
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]04 nếu đối tượng được truyền vào là một thể hiện hoặc lớp con của lớp được truyền vào
Python cho phép dấu phẩy ở cuối danh sách và bộ dữ liệu. Nó là tùy chọn và làm cho các mục dễ đọc hơn và bạn có thể sắp xếp lại các mục mà không gặp bất kỳ lỗi nào. Bạn không cần phải nhớ đi nhớ lại để thêm dấu phẩy sau mỗi mục, nếu bạn thêm dấu phẩy vào cuối
Hãy xem một số ví dụ –
danh sách
Ví dụ
Trong ví dụ này, chúng tôi sẽ thêm dấu phẩy ở cuối Danh sách và sẽ không có bất kỳ lỗi nào -
đầu ra
['List = ', ['Jacob', 'Harry', 'Mark', 'Anthony']]
Tuple
Ví dụ
Trong ví dụ này, chúng ta sẽ thêm một dấu phẩy ở cuối trong Tuple và sẽ không có bất kỳ lỗi nào −
đầu ra
['Tuple = ', ['Tesla', 'Audi', 'Toyota']]
Từ điển
Ví dụ
Bạn cũng có thể thêm dấu phẩy ở cuối trong Từ điển −
đầu ra
{'Units': 120, 'Available': 'Yes', 'Product': 'Mobile', 'Model': 'XUT'} ['Product = ', 'Mobile'] ['Model = ', 'XUT'] ['Units = ', 120] ['Available = ', 'Yes']
Thư viện tiêu chuẩn có phần của nó, tôi tìm thấy 61 trong 3. 11. Một số là lỗi vô hại, nhưng hầu hết rõ ràng là cố ý. Không có lỗi rõ ràng, mặc dù điều đó có thể khó nói
Kịch bản của tôi để tìm thấy chúng
import tokenize, token, sys, glob
total_count = 0
for arg in sys.argv[1:]:
for fn in glob.glob[arg]:
count = 0
prev_tok = None
try:
for tok in tokenize.generate_tokens[open[fn, encoding='utf-8'].readline]:
if tok.type==token.NEWLINE:
if prev_tok is not None and prev_tok.string==',':
print["%s:%s:%s: %s" % [fn, tok.start[0], tok.start[1], tok.line.rstrip[]]]
count += 1
prev_tok = tok
except UnicodeDecodeError:
print["couldn't read", fn]
else:
total_count += count
print[total_count, "total"]
Lưu ý rằng điều này chỉ tìm kiếm dấu phẩy kết thúc câu lệnh và sẽ không tìm thấy dấu phẩy ở cuối trong mục tiêu phân công
Những người mới sử dụng Python thường có một số nhầm lẫn về cách tạo bộ dữ liệu một phần tử. VenkataSubramanian đã cung cấp một bản tóm tắt hay về cú pháp tuple của Python [1]
Bộ dữ liệu không phần tử
Trong Python, các bộ dữ liệu không phần tử trông giống như
[]
Ở dạng này, không giống như các dạng bộ khác, dấu ngoặc đơn là thành phần thiết yếu, không phải dấu phẩy
Bộ một phần tử
Bộ dữ liệu một phần tử trông giống như
1,
Yếu tố cần thiết ở đây là dấu phẩy ở cuối. Đối với bất kỳ biểu thức nào, dấu ngoặc đơn là tùy chọn, vì vậy bạn cũng có thể viết các bộ một phần tử như
[1,]
nhưng chính dấu phẩy, không phải dấu ngoặc đơn, xác định bộ dữ liệu
Bộ nhiều phần tử
Trong Python, các bộ dữ liệu nhiều phần tử trông giống như
________số 8Các phần tử thiết yếu là dấu phẩy giữa mỗi phần tử của bộ dữ liệu. Các bộ nhiều phần tử có thể được viết bằng dấu phẩy ở cuối, e. g
1,2,3,
nhưng dấu phẩy ở cuối là hoàn toàn không bắt buộc. Giống như tất cả các biểu thức khác trong Python, các bộ dữ liệu nhiều phần tử có thể được đặt trong dấu ngoặc đơn, e. g