Hướng dẫn python join objects to string - python nối các đối tượng thành chuỗi

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

Hướng dẫn python join objects to string - python nối các đối tượng thành chuỗi

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?

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.

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.

Danh sách đồng nhất:

HomogenousLists

Danh sách không đồng nhất:

HeterogeneousLists.

Truy cập một mục từ danh sách

AccessinganItem

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à gì?

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ó.

StringinPython

Để 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.

Cách chuyển đổi danh sách thành chuỗi trong Python

  • Sử dụng chức năng tham gia

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.

ConvertListtoString_1

Ở đâ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.

ConvertListtoString_2

  • Truyền tải chức năng danh sách

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 ().


ConvertListtoString_3

  • Sử dụng hàm map ()

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;

  1. & nbsp; nếu danh sách chỉ chứa các số.
  2. Nếu danh sách không đồng nhất

& nbsp; hàm bản đồ () sẽ chấp nhận 2 đối số;

  1. hàm str (); Điều đó sẽ chuyển đổi kiểu dữ liệu đã cho thành kiểu dữ liệu chuỗi.
  2. 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 ().

ConvertListtoString_4

  • 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.

ConvertListtoString_5

  • 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.

Làm thế nào để bạn tham gia các mục vào một chuỗi trong Python?

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.join() is an inbuilt string function in Python used to join elements of the sequence separated by a string separator. This function joins elements of a sequence and makes it a string.

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.

Phương thức tham gia () làm gì trong Python?

Phương thức tham gia () lấy tất cả các mục trong một điều khác nhau và tham gia chúng thành một chuỗi.Một chuỗi phải được chỉ định là dấu phân cách.takes all items in an iterable and joins them into one string. A string must be specified as the separator.

Làm thế nào để bạn tham gia các yếu tố trong một danh sách trong Python?

Chúng ta có thể sử dụng hàm python chuỗi tham gia () để tham gia một danh sách các chuỗi.Hàm này lấy Itable làm đối số và danh sách là một liên quan, vì vậy chúng ta có thể sử dụng nó với danh sách.use python string join() function to join a list of strings. This function takes iterable as argument and List is an interable, so we can use it with List.