เมื่อต้องการหาดัชนีของตัวอักษรที่แมปไปยังลิสต์สตริง ใช้การวนลูปง่าย list comprehension และเมธอด 'add'
ตัวอย่าง
สาธิตด้านล่าง:
from collections import defaultdict
my_list = ['p y t h o n', 'i s', 'f u n', 't o', 'l e a r n']
print("The list is :")
print(my_list)
my_result = defaultdict(set)
for index, element in enumerate(my_list):
for sub in element.split():
my_result[sub].add(index + 1)
my_result = {key: list(val) for key, val in my_result.items()}
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : ['p y t h o n', 'i s', 'f u n', 't o', 'l e a r n']
The result is : {'p': [1], 'y': [1], 't': [1, 4], 'h': [1], 'o': [1, 4], 'n': [1, 3, 5], 'i': [2], 's': [2], 'f': [3], 'u': [3], 'l': [5], 'e': [5], 'a': [5], 'r': [5]}
คำอธิบาย
- นำเข้าแพ็กเกจที่จำเป็น
- กำหนดลิสต์และแสดงผล
- สร้าง dictionary ว่างด้วย defaultdict(set)
- วนลูปลิสต์ด้วย 'enumerate'
- ใช้ 'split' แยกแต่ละ element ใช้ 'add' ใส่ดัชนีใน dictionary
- ใช้ dictionary comprehension วนลูป element ใน dictionary
- กำหนดผลลัพธ์ให้ตัวแปร
- แสดงผลลัพธ์บนคอนโซล