Tôi đang cố gắng chuyển đổi một danh sách thành một tuple.
Hầu hết các giải pháp trên Google đều cung cấp mã sau:
l = [4,5,6] tuple(l)Tuy nhiên, mã dẫn đến một thông báo lỗi khi tôi chạy nó:
TypeError: đối tượng 'tuple' không thể gọi được
Làm thế nào tôi có thể khắc phục sự cố này?
Tzot
89.5K29 Huy hiệu vàng138 Huy hiệu bạc201 Huy hiệu đồng29 gold badges138 silver badges201 bronze badges
Hỏi ngày 11 tháng 10 năm 2012 lúc 9:13Oct 11, 2012 at 9:13
2
Nó sẽ hoạt động tốt. Không sử dụng >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1, >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 2 hoặc các tên đặc biệt khác làm tên biến. Đó có lẽ là những gì gây ra vấn đề của bạn.
>>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable
Đã trả lời ngày 11 tháng 10 năm 2012 lúc 9:15Oct 11, 2012 at 9:15
Regrootroot
72.6K25 Huy hiệu vàng105 Huy hiệu bạc119 Huy hiệu đồng25 gold badges105 silver badges119 bronze badges
2
Mở rộng theo bình luận của Eumiro, thông thường >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 3 sẽ chuyển đổi danh sách >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 4 thành một tuple:
In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6)Tuy nhiên, nếu bạn đã xác định lại >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 là một tuple chứ không phải là >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 6 >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1:
In [4]: tuple = tuple(l) In [5]: tuple Out[5]: (4, 5, 6)Sau đó, bạn nhận được một kiểu mẫu vì bản thân bản thân không thể gọi được:
In [6]: tuple(l) TypeError: 'tuple' object is not callableBạn có thể khôi phục định nghĩa ban đầu cho >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 bằng cách bỏ và khởi động lại trình thông dịch của mình hoặc (nhờ @GLGL):
In [6]: del tuple In [7]: tuple Out[7]: <type 'tuple'>Đã trả lời ngày 11 tháng 10 năm 2012 lúc 9:17Oct 11, 2012 at 9:17
UnutbuUnutbuunutbu
802K173 Huy hiệu vàng1724 Huy hiệu bạc1625 Huy hiệu Đồng173 gold badges1724 silver badges1625 bronze badges
1
Để thêm một giải pháp khác cho >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 3, như Python> = In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 0, bạn có thể làm:
t = *l, # or t = (*l,)Ngắn, nhanh hơn một chút nhưng có lẽ bị khả năng đọc.
Điều này về cơ bản giải nén danh sách >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 4 bên trong một nghĩa đen được tạo ra do sự hiện diện của dấu phẩy duy nhất In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 2.
P.S: Lỗi bạn đang nhận được là do mặt nạ tên >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1, tức là bạn đã gán cho tên Tuple ở đâu đó, ví dụ In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 4.
Sử dụng In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 5, bạn nên tốt để đi.
Đã trả lời ngày 22 tháng 6 năm 2017 lúc 9:30Jun 22, 2017 at 9:30
0
Bạn có thể đã làm một cái gì đó như thế này:
>>> tuple = 45, 34 # You used `tuple` as a variable here >>> tuple (45, 34) >>> l = [4, 5, 6] >>> tuple(l) # Will try to invoke the variable `tuple` rather than tuple type. Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> tuple(l) TypeError: 'tuple' object is not callable >>> >>> del tuple # You can delete the object tuple created earlier to make it work >>> tuple(l) (4, 5, 6)Đây là vấn đề ... vì bạn đã sử dụng biến >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 để giữ In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 7 sớm hơn ... vì vậy, bây giờ >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 là một In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 9 của loại >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 bây giờ ...
Nó không còn là >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 6 và do đó, nó không còn là In [4]: tuple = tuple(l) In [5]: tuple Out[5]: (4, 5, 6) 2.
In [4]: tuple = tuple(l) In [5]: tuple Out[5]: (4, 5, 6) 3 Sử dụng bất kỳ loại tích hợp nào làm tên biến của bạn ... bạn có bất kỳ tên nào khác để sử dụng. Thay vào đó, sử dụng bất kỳ tên tùy ý nào cho biến của bạn ...
Đã trả lời ngày 11 tháng 10 năm 2012 lúc 9:17Oct 11, 2012 at 9:17
UnutbuUnutbuRohit Jain
802K173 Huy hiệu vàng1724 Huy hiệu bạc1625 Huy hiệu Đồng45 gold badges399 silver badges516 bronze badges
Để thêm một giải pháp khác cho >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 3, như Python> = In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 0, bạn có thể làm:
Ngắn, nhanh hơn một chút nhưng có lẽ bị khả năng đọc.
Normal way
Điều này về cơ bản giải nén danh sách >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 4 bên trong một nghĩa đen được tạo ra do sự hiện diện của dấu phẩy duy nhất In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 2.
>>>tuple(item for item in l) (1, 2, 'stackoverflow', 'python')P.S: Lỗi bạn đang nhận được là do mặt nạ tên >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1, tức là bạn đã gán cho tên Tuple ở đâu đó, ví dụ In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 4.
Sử dụng In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 5, bạn nên tốt để đi.Dec 28, 2016 at 9:00
Đã trả lời ngày 22 tháng 6 năm 2017 lúc 9:30TheExorcist
Bạn có thể đã làm một cái gì đó như thế này:1 gold badge19 silver badges25 bronze badges
3
- Đây là vấn đề ... vì bạn đã sử dụng biến >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 để giữ In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 7 sớm hơn ... vì vậy, bây giờ >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 là một In [1]: l = [4,5,6] In [2]: tuple Out[2]: <type 'tuple'> In [3]: tuple(l) Out[3]: (4, 5, 6) 9 của loại >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 1 bây giờ ...
Nó không còn là >>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 6 và do đó, nó không còn là In [4]: tuple = tuple(l) In [5]: tuple Out[5]: (4, 5, 6) 2.
In [4]: tuple = tuple(l) In [5]: tuple Out[5]: (4, 5, 6) 3 Sử dụng bất kỳ loại tích hợp nào làm tên biến của bạn ... bạn có bất kỳ tên nào khác để sử dụng. Thay vào đó, sử dụng bất kỳ tên tùy ý nào cho biến của bạn ...
tuple(L)
Rohit Jainrohit Jain
206K45 Huy hiệu vàng399 Huy hiệu bạc516 Huy hiệu Đồng
Tôi tìm thấy nhiều câu trả lời cho đến nay và được trả lời đúng nhưng sẽ thêm một cái gì đó mới vào ngăn xếp các câu trả lời.L[0]
1
Trong Python có những cách vô hạn để làm điều này, đây là một số trường hợp theo cách bình thườngJan 1 at 5:23
2
>>> l = [4,5,6] >>> tuple(l) (4, 5, 6) >>> tuple = 'whoops' # Don't do this >>> tuple(l) TypeError: 'tuple' object is not callable 0
cách thông minhJul 2, 2020 at 14:49
0