Печать элементов из списка со значением индекса другого списка? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть два списка, один с пунктами назначения, а другой со стоимостью, которую вам нужно будет посетить в указанном месте.

Что мне нужно сделать, это, например, если пользователь выберет "7500", покажет все места, которые стоят "7500". Как вы можете видеть в приведенном ниже коде, "7500" повторяется дважды, поэтому мне понадобятся два пункта назначения с такой ценой.

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

destinations = ["Toronto", "Winnipeg", "London", "Ottawa","Miami", "Edmonton"]
pointCosts = [7500, 9000, 11000, 7500, 9500, 9000]

def CheapPoint (pointCosts):
    lowest = [0]
    for x in pointCosts:
        if x < lowest:
            lowest = x

Например, для вывода я хотел бы что-то вроде:

Points: 7500 City: Toronto City: Ottawa

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

Спасибо

Ответы [ 3 ]

2 голосов
/ 30 октября 2019
score = 7500

example = [ x for x, y in zip(destinations, pointCosts) if y == score ]

вывод

['Toronto', 'Ottawa']

Вы можете печатать на отдельных строках с помощью функции print ():

print(*example, sep = '\n')

вывод:

Toronto
Ottawa
0 голосов
/ 30 октября 2019

[ print(y,x) for x, y in zip(destinations, pointCosts) if y == 7500]

7500, «Торонто»,

7500, «Оттава»

0 голосов
/ 30 октября 2019

Вы пытались использовать словарь вместо двух отдельных списков? Например:
locations = {"Toronto":7500, "Winnipeg":9000 ...}

points = 7500
for destination,pointCost in locations.items():
    if pointCost == points:
        print (destination)

Затем можно выполнить итерацию по словарю, чтобы получить совокупности ключей

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