Как убрать разделитель тысяч в списке кортежей? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть master_list, который содержит список списков, я пытаюсь превратить его в список кортежей, который содержит только строку [3]: количество сыгранных игр и строку [0]: имена игроков , Список будет отсортирован по играм (от наивысшего к низшему), и будут возвращены только первые десять, т.е. список содержит десять кортежей в порядке убывания. И я должен удалить запятую и преобразовать в целое число перед сортировкой

Вывод моего кода правильный, за исключением того, что тысячи разделителей все еще там. Это мой код:

def games_played(master_list):
container2 = []
for line in master_list:
    try:
        int(line[3])
        continue
    except ValueError:
        for i in line[3]:
            i = i.replace(",", "")
            continue
    container2.append(((line[3]), line[0]))
container2.sort(reverse = True)
container2 = container2[:10]
print(container2)

, и это мой вывод:

[
 ('1,767', 'Gordie Howe'),
 ('1,756', 'Mark Messier'),
 ('1,733', 'Jaromir Jagr'),
 ('1,731', 'Ron Francis'),
 ('1,514', 'Steve Yzerman'),
 ('1,487', 'Wayne Gretzky'),
 ('1,451', 'Teemu Selanne'),
 ('1,409', 'Paul Coffey'),
 ('1,396', 'Stan Mikita'),
 ('1,378', 'Joe Sakic')
]

1 Ответ

1 голос
/ 17 февраля 2020

Просто добавьте строку (после последнего назначения для container2):

container2 = list(map(lambda x: (int(x[0].replace(',','')),x[1]),container2))
...