Как выбрать и распечатать определенные значения, общие в словаре и списке? - PullRequest
1 голос
/ 12 июля 2020

Например:

cars={'bmw':'sedan','mg':'suv','audi':'sedan'} color=['bmw','audi','bentley'] И что я хочу здесь сделать, так это проверить, вводит ли пользователь строку, например, «bmw», код проверяет, есть ли она в списке или нет а затем он переходит в словарь автомобилей и показывает результат только для bmw, например, «bmw»: «седан». Итак, как я могу искать строку в обоих, я знаю, как искать строки в словаре, но я знаю, как это сделать в списках? для элемента в цвете:

    if "bmw" in color:
        print "Key found"
        break
    else:
        print "No keys found"

Но он явно не работает .. Пожалуйста, предложите какой-нибудь код, как искать строку в словаре и списке? Кроме того, если я хочу добавить дополнительные спецификации в список по определенной вещи, как мы это делаем в Dictionary, можем ли мы это сделать?

Ответы [ 2 ]

0 голосов
/ 12 июля 2020

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

color = ['bmw', 'audi', 'bentley']
cars = {'bmw': "sedan", 'mg': "suv", 'audi': 'sedan'}

# get the user input
user_input = input("Please enter a car")

# checks if user_input exists in color list
if user_input in color:
    # checks if user_input exists in cars dictionary keys
    if user_input in cars:
        print("Color: {}, Car: {}".format(user_input, cars[user_input]))
    else:
        print("{} is not in `cars` dictionary".format(user_input))
else:
    print("{} is not in color list".format(user_input))
0 голосов
/ 12 июля 2020

Примерно так:

cars = {'bmw': 'sedan', 'mg': 'suv', 'audi': 'sedan'}
color = ['bmw', 'audi', 'bentley']

needle = 'bmw'
if needle in color and needle in cars:
    print(cars[needle])
    # sedan

Или используя all(...):

if all(needle in collection for collection in [color, cars]):
    print(cars[needle])

Или используя set(...) с пересечением:

if needle in set(cars).intersection(set(color)):
    print(cars[needle])

Сторона вопрос: почему вы все еще используете Python2?

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