แนวคิด
ลิสต์สตริงที่มี 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])