Как использовать список вместо нескольких переменных в Python - PullRequest
0 голосов
/ 26 марта 2019

В качестве проблемы я должен хранить «пробег» для 6 разных «автомобилей», как бы я делал это в списке, а не по крайней мере 6 разных переменных

Я пытался использовать переменные, однакорешение должно быть более «эффективным».

Ответы [ 2 ]

0 голосов
/ 26 марта 2019

Списки вещей

Для хранения предметов под именем или расами используйте python список или set .

Какиелегко объявляется как [value1, value2]

Что касается предметов в списках или одной расы.Вы можете использовать один из следующих вариантов:

A кортеж

races = [('race1', 50), ('race2', 100)]

Затем вы можете получить доступ к расам:

for race in races:
    name, dist = race
    print(name, dist)

A dict

races [{'name': 'race1', 'distance': 50}, {'name': 'race2', 'distance': 100}]

Доступ к расам:

for race in races:
    print(race[name], race[dist])

или, чаще:

races = {'race1': 50, 'race2': 100}

Для поиска конкретной расы:

print(races['race1'])

Или зациклить все расы:

for name, distance in races.items():
    print(name, distance)

A класс

class Race:
    def __init__(self, name, distance):
        self.name = name
        self.distance = distance

races = [Race('race1', 50), Race('race2', 100)]

Опять же, для доступа:

for race in races:
    print(race.name, race.distance)

Я мог бы забыть о некоторых других способах, но я думаю, что это отвечает на ваш вопрос.

0 голосов
/ 26 марта 2019

Я бы посоветовал вам использовать словарь вместо списка, чтобы вы могли связать «гоночную дистанцию» для каждого типа автомобиля. Таким образом, вы будете иметь все в одной переменной вместо того, чтобы иметь дело с 6 переменными. это может дать вам что-то вроде:

myCarsAndDistances = {
     'car1' : '200000',
     'car2'   : '70000',
 }
...