Python chuyển đổi tuple thành chuỗi


98

Tôi có một loạt các ký tự như vậy:

('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e')

Làm cách nào để chuyển đổi nó thành một chuỗi để nó giống như sau:

'abcdgxre'

1
Hãy thử cái này cũng đượcreduce(add, ('a', 'b', 'c', 'd'))
Grijesh Chauhan 28/10/13

có gì addtrong @GrijeshChauhan tuyệt vời này?
Steve

@Steve Bạn cần nhập addchức năng từ operatormô-đun. Btw "".joinbộ quần áo tốt hơn ở đây nhưng nếu bạn muốn thêm các loại đối tượng khác nhau, bạn có thể sử dụng add Kiểm tra ví dụ làm việc này
Grijesh Chauhan

Câu trả lời:


165

Sử dụng str.join:

>>> tup = ('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e')
>>> ''.join(tup)
'abcdgxre'
>>>
>>> help(str.join)
Help on method_descriptor:

join(...)
    S.join(iterable) -> str

    Return a string which is the concatenation of the strings in the
    iterable.  The separator between elements is S.

>>>

23
Không hoạt động nếu tuple chứa số. Hãy thử tup = (3, Không có, Không có, Không có, Không có, 1406836313736)
Raj

56
Đối với những con số bạn có thể thử:''.join(map(str, tup))
Mo Beigi

27

đây là một cách dễ dàng để sử dụng tham gia.

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

13

Những công việc này:

''.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

Nó sẽ tạo ra:

'abcdgxre'

Bạn cũng có thể sử dụng dấu phân cách như dấu phẩy để tạo:

'a,b,c,d,g,x,r,e'

Bằng cách sử dụng:

','.join(('a', 'b', 'c', 'd', 'g', 'x', 'r', 'e'))

3

Cách dễ nhất là sử dụng phép nối như thế này:

>>> myTuple = ['h','e','l','l','o']
>>> ''.join(myTuple)
'hello'

Điều này hoạt động vì dấu phân cách của bạn về cơ bản không có gì, thậm chí không phải là khoảng trống: ''.


4
"myTuple" của bạn là một danh sách btw
bariod
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.