Hướng dẫn how do you make a tuple with one item in python? - làm thế nào để bạn tạo một bộ tuple với một mục trong python?

Trong ví dụ dưới đây, tôi mong đợi tất cả các yếu tố sẽ là bộ dữ liệu, tại sao một tuple được chuyển đổi thành một chuỗi khi nó chỉ chứa một chuỗi?

>>> a = [('a'), ('b'), ('c', 'd')]
>>> a
['a', 'b', ('c', 'd')]
>>> 
>>> for elem in a:
...     print type(elem)
... 
<type 'str'>
<type 'str'>
<type 'tuple'>

Hướng dẫn how do you make a tuple with one item in python? - làm thế nào để bạn tạo một bộ tuple với một mục trong python?

Luân Đôn

67K33 Huy hiệu vàng134 Huy hiệu bạc185 Huy hiệu Đồng33 gold badges134 silver badges185 bronze badges

Đã hỏi ngày 13 tháng 10 năm 2012 lúc 19:21Oct 13, 2012 at 19:21

7

Tại sao một tuple được chuyển đổi thành một chuỗi khi nó chỉ chứa một chuỗi?

a = [('a'), ('b'), ('c', 'd')]

Bởi vì hai yếu tố đầu tiên đó không phải là bộ dữ liệu; Chúng chỉ là dây. Dấu ngoặc đơn không tự động làm cho chúng một bộ dữ liệu. Bạn phải thêm dấu phẩy sau chuỗi để chỉ ra Python rằng nó phải là một tuple.

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>

Để sửa mã ví dụ của bạn, hãy thêm dấu phẩy tại đây:

>>> a = [('a',), ('b',), ('c', 'd')]

             ^       ^

Từ các tài liệu Python:

Một vấn đề đặc biệt là việc xây dựng các bộ dữ liệu chứa 0 hoặc 1 mục: cú pháp có thêm một số quirks để phù hợp với những thứ này. Các bộ dữ liệu trống được xây dựng bởi một cặp dấu ngoặc đơn trống; Một tuple với một mục được xây dựng bằng cách làm theo giá trị bằng dấu phẩy (không đủ để gửi một giá trị duy nhất trong ngoặc đơn). Xấu xí, nhưng hiệu quả.

Nếu bạn thực sự ghét cú pháp dấu phẩy kéo dài, một cách giải quyết là chuyển

a = [('a'), ('b'), ('c', 'd')]
7 cho chức năng
a = [('a'), ('b'), ('c', 'd')]
8:

x = tuple(['a'])

Đã trả lời ngày 13 tháng 10 năm 2012 lúc 19:24Oct 13, 2012 at 19:24

Hướng dẫn how do you make a tuple with one item in python? - làm thế nào để bạn tạo một bộ tuple với một mục trong python?

Jonathon Reinhartjonathon ReinhartJonathon Reinhart

128K32 Huy hiệu vàng245 Huy hiệu bạc318 Huy hiệu đồng32 gold badges245 silver badges318 bronze badges

6

Hai ví dụ đầu tiên của bạn không phải là bộ dữ liệu, chúng là chuỗi. Bộ dữ liệu đơn yêu cầu dấu phẩy kéo dài, như trong:

>>> a = [('a',), ('b',), ('c', 'd')]
>>> a
[('a',), ('b',), ('c', 'd')]

Đã trả lời ngày 13 tháng 10 năm 2012 lúc 19:23Oct 13, 2012 at 19:23

Frédéric Hamidifrédéric HamidiFrédéric Hamidi

253K41 Huy hiệu vàng477 Huy hiệu bạc472 Huy hiệu Đồng41 gold badges477 silver badges472 bronze badges

a = [('a'), ('b'), ('c', 'd')]
9 không phải là một tuple, mà chỉ là một chuỗi.

Bạn cần thêm một dấu phẩy vào cuối để thực hiện

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
0 lấy chúng dưới dạng
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
1: -

>>> a = [('a',), ('b',), ('c', 'd')]
>>> a
[('a',), ('b',), ('c', 'd')]
>>> 

Đã trả lời ngày 13 tháng 10 năm 2012 lúc 19:24Oct 13, 2012 at 19:24

Jonathon Reinhartjonathon ReinhartRohit Jain

128K32 Huy hiệu vàng245 Huy hiệu bạc318 Huy hiệu đồng45 gold badges400 silver badges516 bronze badges

Hai ví dụ đầu tiên của bạn không phải là bộ dữ liệu, chúng là chuỗi. Bộ dữ liệu đơn yêu cầu dấu phẩy kéo dài, như trong:

>>> b = tuple(('a'))
>>> type(b)
<class 'tuple'>

Đã trả lời ngày 13 tháng 10 năm 2012 lúc 19:23Dec 7, 2020 at 3:00

Frédéric Hamidifrédéric HamidiAaj Kaal

253K41 Huy hiệu vàng477 Huy hiệu bạc472 Huy hiệu Đồng1 gold badge8 silver badges8 bronze badges

4

Bộ dữ liệu là các chuỗi bất biến trong Python. Hãy cẩn thận khi tạo một tuple với một phần tử (bộ phần tử đơn) hoặc một tuple trống.

Bài viết này mô tả các nội dung sau đây.

  • Tuple với một phần tử
  • Dấu ngoặc đơn về cơ bản là tùy chọn
  • Tuple trống
  • Bộ dữ liệu trong các đối số chức năng

Tuple với một phần tử

Khi tạo một tuple với một phần tử (phần tử đơn), nếu bạn chỉ viết một đối tượng trong ngoặc đơn

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2, dấu ngoặc đơn
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2 bị bỏ qua và không được coi là một tuple.

single_tuple_error = (0)

print(single_tuple_error)
print(type(single_tuple_error))
# 0
# <class 'int'>

Để tạo một tuple với một yếu tố, một dấu phẩy

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4 được yêu cầu ở cuối.

single_tuple = (0, )

print(single_tuple)
print(type(single_tuple))
# (0,)
# <class 'tuple'>

Ví dụ: khi kết nối nhiều bộ dữ liệu với toán tử

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
5, lưu ý rằng một lỗi được nêu ra nếu bạn cố gắng thêm một phần tử và quên dấu phẩy
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4.

a = [('a'), ('b'), ('c', 'd')]
0

Dấu ngoặc đơn về cơ bản là tùy chọn

Lý do tại sao bạn cần một dấu phẩy

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4 cho một tuple có một yếu tố là "Tuple là một đối tượng được phân định bởi dấu phẩy
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4", không phải là "một đối tượng được đặt trong ngoặc đơn
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2".

Lưu ý rằng đó thực sự là dấu phẩy tạo ra một tuple, không phải dấu ngoặc đơn. Các dấu ngoặc đơn là tùy chọn, ngoại trừ trong trường hợp tuple trống hoặc khi chúng cần thiết để tránh sự mơ hồ của cú pháp. Các loại tích hợp - Tuples - Python 3.7.4 Tài liệu
Built-in Types - Tuples — Python 3.7.4 documentation

Đó là một tuple ngay cả khi dấu ngoặc đơn

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2 bị bỏ qua.

a = [('a'), ('b'), ('c', 'd')]
1

Lưu ý rằng nếu có một dấu phẩy không cần thiết

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4 sau đối tượng, nó sẽ được coi là một tuple.

a = [('a'), ('b'), ('c', 'd')]
2

Tuple trống

Như đã đề cập ở trên, dấu ngoặc đơn

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2 có thể được bỏ qua để biểu diễn một tuple nhưng được yêu cầu khi tạo một bộ tuple trống.

>>> a = [('a',), ('b',), ('c', 'd')]

             ^       ^
3 được nâng lên nếu chỉ có một không gian hoặc dấu phẩy
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4.

a = [('a'), ('b'), ('c', 'd')]
3

Một tuple trống cũng có thể được tạo bằng

a = [('a'), ('b'), ('c', 'd')]
8 mà không cần đối số.

a = [('a'), ('b'), ('c', 'd')]
4

Bộ dữ liệu trong các đối số chức năng

Nếu có sự mơ hồ cú pháp, các bộ dữ liệu yêu cầu dấu ngoặc đơn

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2.

Nhiều đối số được chỉ định bằng cách tách chúng bằng dấu phẩy

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
4. Nếu bạn muốn chỉ định một tuple là một đối số, dấu ngoặc đơn
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2 được yêu cầu.

Không có dấu ngoặc đơn

>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2, mỗi giá trị được truyền cho mỗi đối số và với dấu ngoặc đơn
>>> type( ('a') )
<type 'str'>

>>> type( ('a',) )
<type 'tuple'>
2, một tuple được chuyển cho một đối số.

a = [('a'), ('b'), ('c', 'd')]
5

Nếu bạn thêm

x = tuple(['a'])
1 vào tuple, bạn có thể giải nén tuple và chuyển từng phần tử cho mỗi đối số.

a = [('a'), ('b'), ('c', 'd')]
6

Xem bài viết sau đây để biết chi tiết.

  • Giải nén và vượt qua danh sách

Làm thế nào để bạn thêm một phần tử duy nhất vào một tuple?

Vì không thể thay đổi các bộ dữ liệu, nên cách duy nhất để chèn một phần tử vào một tuple là tạo một tuple mới chứa phần tử ...
Sử dụng lớp Danh sách () để chuyển đổi Tuple thành danh sách ..
Sử dụng danh sách. ....
Sử dụng lớp tuple () để chuyển đổi danh sách thành tuple ..

Điều nào sau đây sẽ tạo ra một tuple với phần tử đơn?

Để tạo một tuple với một yếu tố, một dấu phẩy, được yêu cầu ở cuối.Ví dụ: khi kết nối nhiều bộ dữ liệu với toán tử +, lưu ý rằng một lỗi được nêu ra nếu bạn cố gắng thêm một phần tử và quên dấu phẩy,.a comma , is required at the end. For example, when connecting multiple tuples with the + operator, note that an error is raised if you try to add one element and forget a comma , .

1 tuple là gì?

1 -tuple được gọi là một (hoặc singleton), 2 -tuple được gọi là một cặp hoặc cặp có thứ tự, và 3 - 3 được gọi là bộ ba (hoặc bộ ba).Số N có thể là bất kỳ số nguyên không âm.a single (or singleton), a 2‑tuple is called an ordered pair or couple, and a 3‑tuple is called a triple (or triplet). The number n can be any nonnegative integer.

Cú pháp chính xác là gì để tạo tuple giá trị đơn là gì?

Tạo một tuple a tuple được tạo bằng cách đặt tất cả các mục (phần tử) bên trong dấu ngoặc đơn (), được phân tách bằng dấu phẩy.Các dấu ngoặc đơn là tùy chọn, tuy nhiên, đó là một thực tế tốt để sử dụng chúng.placing all the items (elements) inside parentheses () , separated by commas. The parentheses are optional, however, it is a good practice to use them.