создание списка с разделением по символам в Python - PullRequest
1 голос
/ 09 октября 2011

Я пытаюсь составить список из 4 верхних максимальных значений с данными из других словарей, но полученный результат продолжает разделять каждый член на отдельные символы.Полный код:

max_list = []    
MaxSimilarity = 0
for d in year:
    f = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if year[d] == c:
            if f > MaxSimilarity:
                MaxSimilarity = f
                max = d
max_list.append(max)

MaxSimilarity2 = 0            
for d in year:
    g = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if d != max:
            if year[d] == c:
                if g > MaxSimilarity2:
                    MaxSimilarity2 = g
                    max2 = d
max_list.append(max2)

MaxSimilarity3 = 0            
for d in year:
    h = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if d != max and d != max2:
            if year[d] == c:
                if h > MaxSimilarity3:
                    MaxSimilarity3 = h
                    max3 = d
max_list.append(max3)


MaxSimilarity4 = 0            
for d in year:
    i = FavActorFunction(max_films[c], d)    
    if d != MaxGrossFinder(c):
        if d != max and d != max2 and d != max3:
            if year[d] == c:
                if i > MaxSimilarity4:
                    MaxSimilarity4 = i
                    max4 = d
max_list.append(max4)
print max_list

результат, который я получаю: ['3', '0', '0', 'T', 'r', 'a', 'n', 's',' f ',' o ',' r ',' m ',' e ',' r ',' s ',' S ',' p ',' i ',' d ',' e ','r', '-', 'M', 'a', 'n', '', '3', '3', '0', '0']

как мне изменить этокод для получения ['300', Трансформеры и т. д.]

1 Ответ

2 голосов
/ 09 октября 2011

Похоже, что ваша функция FavActorFunction возвращает список символов, а не список слов.

Если вы перебираете строку, а не перебираете список строк, это может произойти. Например, обратите внимание, что происходит, когда я преобразую строку в список:

>>> print list("Hello, world")
print list("Hello, world")
['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd']

И поскольку вы только сейчас учитесь, подумайте над этим советом: используйте описательные имена переменных. Такие имена, как d, c, h и g делают ваш код практически невозможным для понимания. Используйте такие переменные, как actor, director и т. Д. Вы не получаете бонусные баллы за краткость (если у вас нет плохого инструктора).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...