324
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Trong Python, tôi có thể làm:
>>> list = ['a', 'b', 'c']
>>> ', '.join[list]
'a, b, c'
Có cách nào dễ dàng để làm điều tương tự khi tôi có một danh sách các đối tượng không?
>>> class Obj:
... def __str__[self]:
... return 'name'
...
>>> list = [Obj[], Obj[], Obj[]]
>>> ', '.join[list]
Traceback [most recent call last]:
File "", line 1, in
TypeError: sequence item 0: expected string, instance found
Hay tôi phải dùng đến một vòng lặp?
hỏi ngày 31 tháng 1 năm 2009 lúc 0:06Jan 31, 2009 at 0:06
Thay vào đó, bạn có thể sử dụng danh sách hiểu hoặc biểu thức máy phát: thay vào đó:
', '.join[[str[x] for x in list]] # list comprehension
', '.join[str[x] for x in list] # generator expression
Đã trả lời ngày 31 tháng 1 năm 2009 lúc 0:10Jan 31, 2009 at 0:10
Adam Rosenfieldadam RosenfieldAdam Rosenfield
380K96 Huy hiệu vàng508 Huy hiệu bạc585 Huy hiệu Đồng96 gold badges508 silver badges585 bronze badges
6
Trình xây dựng chuỗi tích hợp sẽ tự động gọi obj.__str__
:
''.join[map[str,list]]
Đã trả lời ngày 31 tháng 1 năm 2009 lúc 0:16Jan 31, 2009 at 0:16
Ngân hàng Kenan BankskenanKenan Banks
201K34 Huy hiệu vàng151 Huy hiệu bạc171 Huy hiệu đồng34 gold badges151 silver badges171 bronze badges
8
Tôi biết đây là một bài viết siêu cũ, nhưng tôi nghĩ những gì bị bỏ lỡ đang ghi đè __repr__
, do đó __repr__ = __str__
, đó là câu trả lời được chấp nhận của câu hỏi này được đánh dấu trùng lặp.
Đã trả lời ngày 21 tháng 11 năm 2018 lúc 4:54Nov 21, 2018 at 4:54
NotanambiturnotanambiturnerNotAnAmbiTurner
2.2651 Huy hiệu vàng20 Huy hiệu bạc42 Huy hiệu đồng1 gold badge20 silver badges42 bronze badges
Một giải pháp khác là ghi đè toán tử tham gia của lớp STR.
Hãy để chúng tôi xác định một lớp mới My_String như sau
class my_string[str]:
def join[self, l]:
l_tmp = [str[x] for x in l]
return super[my_string, self].join[l_tmp]
Sau đó, bạn có thể làm
class Obj:
def __str__[self]:
return 'name'
list = [Obj[], Obj[], Obj[]]
comma = my_string[',']
print comma.join[list]
Và bạn nhận được
name,name,name
BTW, bằng cách sử dụng danh sách làm tên biến, bạn đang xác định lại lớp danh sách [từ khóa]! Tốt nhất là sử dụng một tên định danh khác.list as variable name you are redefining the list class [keyword] ! Preferably use another identifier name.
Hy vọng bạn sẽ thấy câu trả lời của tôi hữu ích.
Đã trả lời ngày 15 tháng 8 năm 2018 lúc 11:41Aug 15, 2018 at 11:41
1
Làm thế nào để bạn tham gia các mục vào một chuỗi trong Python? Làm thế nào để bạn kết hợp các đối tượng và chuỗi? Phương thức Concat [] nối thêm một hoặc nhiều giá trị chuỗi vào chuỗi gọi và sau đó trả về kết quả được nối dưới dạng chuỗi mới. Vì phương thức Concat [] là một phương thức của đối tượng chuỗi, nó phải được gọi thông qua một thể hiện cụ thể của lớp chuỗi. Một mục trong danh sách có thể được truy cập bằng cách tham khảo chỉ mục của nó trong danh sách. Việc lập chỉ mục các phần tử trong danh sách bắt đầu từ 0. Hãy để lấy một ví dụ về danh sách chúng tôi đã tạo trong bước cuối cùng. Để truy cập một phần tử từ danh sách, chúng tôi vượt qua chỉ mục của phần tử đó trong hàm in. Như đã đề cập trước đó, việc lập chỉ mục đó bắt đầu từ 0, vì vậy khi INDEX [1] được thông qua, nó cho kết quả là con chó chó. & NBSP; Tương tự, nếu chúng ta vượt qua chỉ mục, nói [2], nó sẽ cung cấp cho đầu ra 2.2 Một chuỗi trong Python là một chuỗi các ký tự được đặt hàng. Điểm cần lưu ý ở đây là một danh sách là một chuỗi các loại đối tượng được đặt hàng và một chuỗi là một chuỗi các ký tự được đặt hàng. Đây là sự khác biệt chính giữa hai. Trình tự là một loại dữ liệu bao gồm nhiều yếu tố của cùng một loại dữ liệu, chẳng hạn như số nguyên, phao, ký tự, v.v ... Điều này có nghĩa là một chuỗi là một tập hợp con của loại dữ liệu chuỗi, chứa tất cả các phần tử là ký tự. Dưới đây là một ví dụ về chuỗi trong Python và cách in nó.
Để khai báo một chuỗi, chúng tôi gán một biến cho chuỗi. Ở đây, A là một biến được gán cho chuỗi SimpleLearn. Một yếu tố của một chuỗi có thể được truy cập theo cùng một cách như chúng ta đã thấy trong trường hợp của một danh sách. Việc lập chỉ mục các phần tử trong một chuỗi cũng bắt đầu từ 0. Hàm tham gia là một trong những phương pháp đơn giản nhất để chuyển đổi danh sách thành một chuỗi trong Python. Điểm chính cần ghi nhớ trong khi sử dụng chức năng này là hàm tham gia chỉ có thể chuyển đổi các danh sách đó thành chuỗi chỉ chứa chuỗi dưới dạng các phần tử của nó. & NBSP; Tham khảo ví dụ dưới đây. Ở đây, tất cả các yếu tố trong danh sách là chuỗi riêng lẻ, vì vậy chúng ta có thể sử dụng chức năng tham gia trực tiếp. Lưu ý rằng mỗi phần tử trong chuỗi mới được phân định bằng một khoảng trống. Bây giờ, có thể có một trường hợp khi một danh sách sẽ chứa các yếu tố của kiểu dữ liệu khác với chuỗi. Trong trường hợp này, chức năng nối không thể được sử dụng trực tiếp. Đối với một trường hợp như thế này, hàm str [] trước tiên sẽ được sử dụng để chuyển đổi loại dữ liệu khác thành một chuỗi và sau đó, hàm nối sẽ được áp dụng. Tham khảo ví dụ được đưa ra dưới đây để hiểu rõ ràng. Trong ví dụ này, trước tiên chúng tôi tuyên bố một danh sách phải được chuyển đổi thành một chuỗi. Sau đó, một chuỗi trống phải được khởi tạo để lưu trữ các yếu tố. Sau đó, mỗi phần tử của danh sách được đi qua bằng cách sử dụng một vòng lặp và cho mọi chỉ mục, phần tử sẽ được thêm vào chuỗi khởi tạo. Cuối cùng, chuỗi sẽ được in bằng hàm in []. Hàm bản đồ có thể được sử dụng trong 2 trường hợp để chuyển đổi danh sách thành chuỗi. & NBSP; & nbsp; hàm bản đồ [] sẽ chấp nhận 2 đối số;Python chuỗi tham gia [] Phương thức tham gia [] là một hàm chuỗi sẵn có trong python được sử dụng để nối các phần tử của chuỗi được phân tách bằng một dấu phân cách chuỗi. Hàm này tham gia các phần tử của một chuỗi và làm cho nó trở thành một chuỗi.
Danh sách đồng nhất:
Danh sách không đồng nhất:
Truy cập một mục từ danh sách
Một chuỗi trong Python là gì?
Cách chuyển đổi danh sách thành chuỗi trong Python
Sử dụng chức năng tham gia
Truyền tải chức năng danh sách
Sử dụng hàm map []
- hàm str []; Điều đó sẽ chuyển đổi kiểu dữ liệu đã cho thành kiểu dữ liệu chuỗi.
- Một chuỗi có thể lặp lại; Mỗi phần tử trong chuỗi sẽ được gọi bởi hàm str []. Các giá trị chuỗi sẽ được trả về thông qua trình lặp.
Ở cuối, hàm tham gia [] được sử dụng để kết hợp tất cả các giá trị được trả về bởi hàm str [].
Danh sách hiểu
Danh sách hiểu trong Python tạo ra một danh sách các yếu tố từ một danh sách hiện có. Sau đó, nó sử dụng vòng lặp để vượt qua các đối tượng có thể lặp lại theo mẫu yếu tố.
Để chuyển đổi danh sách thành một chuỗi, hãy sử dụng khả năng hiểu danh sách Python và hàm tham gia []. Sự hiểu biết danh sách sẽ đi qua từng phần tử một và phương thức tham gia [] sẽ kết hợp các phần tử của danh sách thành một chuỗi mới và trả về nó làm đầu ra.
Một ví dụ về chuyển đổi danh sách sang chuỗi bằng cách hiểu danh sách được đưa ra dưới đây.
Lặp đi lặp lại trong danh sách
Trong phương thức này, gán một danh sách và di chuyển từng phần tử và thêm từng phần tử vào một chuỗi trống bằng cách sử dụng vòng lặp
Mã trong Python được đưa ra dưới đây
uster = ['xin chào', 'làm thế nào', 'là', 'bạn', 'làm?']
trốngStr = ""
# chuyển trong chuỗi & nbsp;
Đối với tôi trong uster:
trốngStr += i +''
print[emptystr]
Đầu ra sẽ là -& nbsp; Chào bạn khỏe không?
- Sử dụng chức năng vượt qua từng phần tử của danh sách và tiếp tục thêm phần tử mới cho mọi chỉ mục trong chuỗi trống bằng cách sử dụng vòng lặp
# ListToString là một chức năng
def listtoString [orch]:
# Khởi tạo chuỗi trống
emptystr=""
# chuỗi truyền tải bằng cách sử dụng cho vòng lặp
cho ele trong nhạc cụ: & nbsp;
trốngStr += ele
uster = ['xin chào', 'làm thế nào', 'là', 'bạn', 'làm?']
print[listToString[instr]]
Đầu ra sẽ là -& nbsp; Chào bạn khỏe không?
Sử dụng chức năng vượt qua từng phần tử của danh sách và tiếp tục thêm phần tử mới cho mọi chỉ mục trong chuỗi trống bằng cách sử dụng vòng lặp
Trong trường hợp bạn muốn làm chủ từ A đến Z của Python, hãy đăng ký khóa đào tạo chứng nhận Python của chúng tôi ngay hôm nay! Và trong trường hợp bạn có bất kỳ câu hỏi nào liên quan đến hướng dẫn, hãy bỏ một bình luận dưới đây và các chuyên gia của chúng tôi sẽ giúp bạn.