Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เพิ่มค่าในซับลิสต์ (Sublists) ใน Python

บางครั้งเราต้องเพิ่มค่าเพิ่มเติมเข้าไปในลิสต์ที่มีอยู่แล้ว ในบทความนี้เราจะดูวิธีค่าใหม่หรือค่าใหม่ๆ สามารถแทรกเข้าไปในลิสต์ที่มีอยู่แล้วโดยรวมกับแต่ละรายการของลิสต์เดิม

ใช้ลูป For

ถ้าเรามีลิสต์ที่มีรายการยาวเท่ากัน เราสามารถใช้วิธีนี้เพื่อแทรกค่าใหม่ในแต่ละรายการของลิสต์ ในตัวอย่างด้านล่างเรากำลังใช้ลิสต์ของ

ตัวอย่าง

List = [[10, 20], [14, 8], ['Mon', 'Tue']]
print("Given List:\n" + str(List))
s = "Rise"
t = "fast"
result = [[m, n, s, t] for m, n in List]
print("\nNew List:\n" + str(result))

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้

ผลลัพธ์

Given List:
[[10, 20], [14, 8], ['Mon', 'Tue']]
New List:
[[10, 20, 'Rise', 'fast'], [14, 8, 'Rise', 'fast'], ['Mon', 'Tue', 'Rise', 'fast']]

ใช้ตัวดำเนินการ +

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

ตัวอย่าง

List = [[1.5, 2.5, 'Tue'], [0.8, 0.9, 'Ocean'], [6.8, 4.3], [9]]
print("Given List:\n" + str(List))
# เลือกลิสต์ที่จะเพิ่ม
s = ["Rise", "Fast"]
result = [sub + [s] for sub in List]
print("\nNew List:\n" + str(result))

การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้

ผลลัพธ์

Given List:
[[1.5, 2.5, 'Tue'], [0.8, 0.9, 'Ocean'], [6.8, 4.3], [9]]
New List:
[[1.5, 2.5, 'Tue', ['Rise', 'Fast']], [0.8, 0.9, 'Ocean', ['Rise', 'Fast']], [6.8, 4.3, ['Rise', 'Fast']], [9, ['Rise', 'Fast']]]

สรุป: สามารถเพิ่มค่าในซับลิสต์ได้ทั้งแบบ unpack ด้วย list comprehension และแบบต่อลิสต์ด้วย + operator