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

แยกสมาชิกในลิสต์ด้วย Delimiter (Segregate Elements by Delimiter)

แนวคิด

ลิสต์สตริงที่มี delimiter (เช่น '@') แยกส่วนหน้าและหลัง delimiter เป็นลิสต์แยกกัน

ตัวอย่างโค้ด

my_list = ["89@21", "58@51", "19@61", "11@10", "32@65", "34@45", "87@90", "32@21", "1@345"]
print("ลิสต์:", my_list)

my_list.sort()
print("หลังเรียง:", my_list)

delimiter = "@"
print("Delimiter:", delimiter)

before = [s.split(delimiter)[0] for s in my_list]
after = [s.split(delimiter)[1] for s in my_list]

print("ส่วนหน้า delimiter:", before)
print("ส่วนหลัง delimiter:", after)

ผลลัพธ์

ลิสต์: ['89@21', '58@51', '19@61', '11@10', '32@65', '34@45', '87@90', '32@21', '1@345']
หลังเรียง: ['11@10', '19@61', '1@345', '32@21', '32@65', '34@45', '58@51', '87@90', '89@21']
Delimiter: @
ส่วนหน้า delimiter: ['11', '19', '1', '32', '32', '34', '58', '87', '89']
ส่วนหลัง delimiter: ['10', '61', '345', '21', '65', '45', '51', '90', '21']

คำอธิบาย

  • s.split('@') แยกเป็น ['part1', 'part2']
  • [0] ส่วนหน้า, [1] ส่วนหลัง
  • สมมติว่ามี delimiter อยู่ 1 ตัวต่อสตริง

การจัดการหลาย Delimiter / ไม่มี Delimiter

 1 else ''

before, after = zip(*[safe_split(s, '@') for s in my_list])