Предполагая, что содержимое check.txt
выглядит как li
, начните с получения всех уникальных элементов в списке строк, используя набор, а затем отсортируйте уникальный список по алфавиту
После этого используйте словарьпонимание и enumerate
для создания вашего словаря
li = [
"AAAA",
"AAAA",
"AAAA",
"BBBB",
"BBBB",
"CCCC",
"CCCC",
"CCCC"]
#Get the list of unique strings by converting to a set
li = (list(set(li)))
#Sort the list lexicographically
li = sorted(li)
#Create your dictionary via dictionary comprehension and enumerate
dct = {item:idx for idx, item in enumerate(li)}
print(dct)
Вывод будет
{'AAAA': 0, 'BBBB': 1, 'CCCC': 2}
Мы должны быть в состоянии создать список строк li
примерно так
import os
path = "directoryA"
dirList = os.listdir(path)
li = []
with open("check.txt", "w") as a:
for path, subdirs, files in os.walk(path):
for filename in files:
# I have splitted the text and now I want to create dictionary
#from it
mylist = filename.split("_") # the text format is AAAA_0 and I split
#it so I can have list of 'AAAA' and '0'
k = mylist[0]
#append item to li
li.append(k)