Как я могу добавить значения переменных текстового файла в соответствующий индекс 2D-массива / списка? - PullRequest
0 голосов
/ 14 июля 2020

Код:

    opener = open("gymclub.txt", "r")
    reader = opener.readline()
    listPressups = [["",],["",],["",],["",],["",],["",],["",],["",],["",],["",],["",],["",],["",]]
    while reader!="":
        splitting=reader.split(",")
        name = splitting[0]
        press_ups = splitting[1]
        pull_ups = splitting[2]
        reader = opener.readline()
        for x in range(1,12):
            listPressups[0][x].append(int(press_ups))
    listPressups.sort(reverse=True)
    print(listPressups)

Вывод:

Traceback (most recent call last):
  File "C:/Users/Nutzer/Desktop/Python/practice_NEA/index.py", line 36, in <module>
    listPressups[0][x].append(int(press_ups))
IndexError: list index out of range

Желаемый результат:

[["",75],["",74],["",73],["",67],["",66],["",58],["",45],["",33],["",30],["",25],["",10],["",8]]

Какой метод я могу использовать для достижения желаемого результата?

Текстовый файл, который я использовал:

введите описание изображения здесь

Ответы [ 3 ]

1 голос
/ 14 июля 2020

Попробуйте следующее:

opener = open("gymclub.txt", "r")
listPressups = []
for line in opener.readlines():
    press_ups = int(line.split(",")[1])
    listPressups.append(["", press_ups])
listPressups.sort(reverse=True)
opener.close()
print(listPressups)
0 голосов
/ 14 июля 2020

Вы можете просто начать с пустого массива, здесь: listPressups и добавить только while loop, как показано ниже.

opener = open("gymclub.txt", "r")
reader = opener.readline()
#listPressups = [["",],["",],["",],["",],["",],["",],["",],["",],["",],["",],["",],["",],["",]]
listPressups = []
while reader!="":
    splitting=reader.split(",")
    name = splitting[0]
    press_ups = splitting[1]
    pull_ups = splitting[2]
    reader = opener.readline()
    listPressups.append(["",int(press_ups)]) #Here we append an empty string with each value
listPressups.sort(reverse=True)
print(listPressups)
0 голосов
/ 14 июля 2020

Вместо

listPressups[0][x].append(int(press_ups))

должно быть

listPressups[x][1].append(int(press_ups))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...