การแปลงรายการและทูเพิลให้กันและกันใน Python: list(), tuple()

ธุรกิจ

เมื่อคุณต้องการแปลงรายการ (อาร์เรย์) และ tuples ให้กันและกันใน Python ให้ใช้ list() และ tuple()

หากกำหนดอ็อบเจ็กต์ที่ทำซ้ำได้ เช่น ประเภทของชุด รวมถึงรายการและทูเพิลเป็นอาร์กิวเมนต์ ออบเจ็กต์ประเภทรายการและทูเพิลใหม่จะถูกส่งกลับ

ตัวอย่างตัวแปรประเภทรายการ ทูเพิล และช่วงต่อไปนี้

l = [0, 1, 2]
print(l)
print(type(l))
# [0, 1, 2]
# <class 'list'>

t = ('one', 'two', 'three')
print(t)
print(type(t))
# ('one', 'two', 'three')
# <class 'tuple'>

r = range(10)
print(r)
print(type(r))
# range(0, 10)
# <class 'range'>

range() ส่งคืนวัตถุประเภท range ตั้งแต่ Python 3

โปรดทราบว่าถึงแม้จะใช้คำว่า “การแปลง” เพื่อความสะดวก วัตถุใหม่จะถูกสร้างขึ้นจริง และวัตถุดั้งเดิมยังคงไม่บุบสลาย

สร้างรายการ:list()

เมื่อมีการระบุอ็อบเจ็กต์ iterable เช่น tuple เป็นอาร์กิวเมนต์ to list() รายการที่มีองค์ประกอบนั้นจะถูกสร้างขึ้น

tl = list(t)
print(tl)
print(type(tl))
# ['one', 'two', 'three']
# <class 'list'>

rl = list(r)
print(rl)
print(type(rl))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# <class 'list'>

สร้างสิ่งอันดับ:tuple()

เมื่อมีการระบุอ็อบเจ็กต์ที่ iterable เช่น list เป็นอาร์กิวเมนต์ของ tuple() tuple ที่มีองค์ประกอบนั้นจะถูกสร้างขึ้น

lt = tuple(l)
print(lt)
print(type(lt))
# (0, 1, 2)
# <class 'tuple'>

rt = tuple(r)
print(rt)
print(type(rt))
# (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# <class 'tuple'>

เพิ่มหรือเปลี่ยนองค์ประกอบของทูเพิล

Tuples นั้นเปลี่ยนไม่ได้ (ไม่สามารถอัพเดตได้) ดังนั้นองค์ประกอบจึงไม่สามารถเปลี่ยนแปลงหรือลบได้ อย่างไรก็ตาม สามารถรับ tuple ที่มีองค์ประกอบที่เปลี่ยนแปลงหรือลบได้โดยใช้ list() เพื่อสร้างรายการ เปลี่ยนแปลงหรือลบองค์ประกอบ จากนั้นใช้ tuple() อีกครั้ง