Python แปลงทูเพิลเป็นสตริง


103

ฉันมีตัวละครมากมายเช่นนี้:

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

ฉันจะแปลงเป็นสตริงได้อย่างไรเพื่อให้เป็นดังนี้:

'abcdgxre'

1
ลองสิ่งนี้ด้วยreduce(add, ('a', 'b', 'c', 'd'))
Grijesh Chauhan

สิ่งที่อยู่addใน exmple นี้ @GrijeshChauhan?
Steve

@Steve คุณต้องนำเข้าaddฟังก์ชันจากoperatorโมดูล Btw "".joinเหมาะสมกว่าที่นี่ แต่ถ้าคุณต้องการเพิ่มประเภทของวัตถุคุณสามารถใช้เพิ่มตรวจสอบตัวอย่างการทำงานนี้
Grijesh Chauhan

คำตอบ:


176

ใช้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.

>>>

25
ใช้ไม่ได้หากทูเปิลมีตัวเลข ลอง tup = (3, ไม่มี, ไม่มี, ไม่มี, ไม่มี, 1406836313736)
ราช

58
สำหรับตัวเลขคุณสามารถลองสิ่งนี้:''.join(map(str, tup))
Mo Beigi


13

ใช้งานได้:

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

มันจะผลิต:

'abcdgxre'

คุณยังสามารถใช้ตัวคั่นเช่นลูกน้ำเพื่อสร้าง:

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

โดยใช้:

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

3

วิธีที่ง่ายที่สุดคือใช้การเข้าร่วมแบบนี้:

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

สิ่งนี้ใช้งานได้เนื่องจากตัวคั่นของคุณไม่มีอะไรเป็นหลักไม่ใช่แม้แต่ช่องว่าง: ''


8
"myTuple" ของคุณคือรายการ btw
bariod
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.