เมื่อคุณต้องการแปลงรายการ (อาร์เรย์) และ tuples ให้กันและกันใน Python ให้ใช้ list() และ tuple()
หากกำหนดอ็อบเจ็กต์ที่ทำซ้ำได้ เช่น ประเภทของชุด รวมถึงรายการและทูเพิลเป็นอาร์กิวเมนต์ ออบเจ็กต์ประเภทรายการและทูเพิลใหม่จะถูกส่งกลับ
- class list([iterable]) — Built-in Functions — Python 3.10.2 Documentation
- class tuple([iterable]) — Built-in Functions — Python 3.10.2 Documentation
ตัวอย่างตัวแปรประเภทรายการ ทูเพิล และช่วงต่อไปนี้
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() อีกครั้ง