LINUX.ORG.RU

Обьясните по циклу.

 ,


0

1

Добрый день ЛОР.

Есть данные в БД которые я временно переместил в словарь.

a = {
  'username': 'user1', 'level': '1',
  'username': 'user2', 'level': '2',
  'username': 'user3', 'level': '3',
  'username': 'user4', 'level': '4',
  'username': 'user5', 'level': '5',
}

users = {
    a['username']: a['level']
}

b = {
  'rangname': 'Рядовой', 'ranglevel': '1',
  'rangname': 'Ефрейтор', 'ranglevel': '2',
  'rangname': 'мл.Сержант', 'ranglevel': '3',
  'rangname': 'ст.Сержант', 'ranglevel': '4',
  'rangname': 'Старшина', 'ranglevel': '5',
}

rangs = {
    b['rangname']: b['ranglevel']
}

print(users)
print(rangs)

Мне нужно что? Мне нужно брать данные из словаря users level, сравнивать его с данными словаря rangs ranglevel, если числа совпадают то выводить username и соответсвующий ему rangname.

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

★★★★

Если у меня парсер не глючит то a это словарь с двумя ключами username и level которым последовательно присваивается 5 разных значений.

MrClon ★★★★★
()
user_levels = {
  'user1': '1',
  'user2': '2',
  'user3': '3',
  'user4': '4',
  'user5': '5',
}

level_rangs = {
  '1': 'Рядовой',
  '2': 'Ефрейтор',
  '3': 'мл.Сержант',
  '4': 'ст.Сержант',
  '5': 'Старшина',
}

user_name = 'user1'

print(level_rangs[user_levels[user_name]])

Если я тебя правильно понял.

hippi90 ★★★★★
()
Ответ на: комментарий от xaTa
>>> a = {
...   'username': 'user1', 'level': '1',
...   'username': 'user2', 'level': '2',
...   'username': 'user3', 'level': '3',
...   'username': 'user4', 'level': '4',
...   'username': 'user5', 'level': '5',
... }
>>> a
{'username': 'user5', 'level': '5'}

В общем оно даже без всяких циклов работает совсем не так как Вам бы хотелось.

AntonI ★★★★★
()

я временно переместил в словарь

Если ты действительно это сделал, то должно быть как-то так:

a = [
  {'username': 'user1', 'level': '1'},
  {'username': 'user2', 'level': '2'},
  {'username': 'user3', 'level': '3'},
  {'username': 'user4', 'level': '4'},
  {'username': 'user5', 'level': '5'},
]
vvn_black ★★★★★
()

Прихраню этот тред на случай, если кто-то опять спросит «зачем программисту курс алгоритмов и структур данных».

Octagon
()
Ответ на: комментарий от hippi90
print(level_rangs[user_levels[user_name]])

Да, это то что надо. Спасибо.

xaTa ★★★★
() автор топика
Ответ на: комментарий от vvn_black

Спасибо за подсказку, учту на будущее.

xaTa ★★★★
() автор топика
Ответ на: комментарий от Octagon

тут нужен курс на iq выше двузначного

anonymous
()
Ответ на: комментарий от Octagon

На нём питонячий синтаксис рассказывают? Не знал

MrClon ★★★★★
()
Ответ на: комментарий от xaTa

Наоборот! Я решительно поддерживаю твою вопиющую безграмотность. Ведь чем меньше знаешь/умеешь ты, тем больше платят мне ))

zad1ra
()
Ответ на: комментарий от zad1ra

Так я ж и не претендую на твое рабочее место)) я пишу чисто для себя. От мудак)

xaTa ★★★★
() автор топика
Ответ на: комментарий от zad1ra

Это статистика для ксочки)

xaTa ★★★★
() автор топика

Мне нужно что?

Действительно, а что же тебе нужно сделать? Какой цели достичь? Безотносительно питонов и словарей.

Мне нужно брать данные из словаря users level

Когда мы узнаем контекст и цель, мы сможем тебе сказать, что конкретно тебе нужно взять и куда положить. Если ты вежливо попросишь, конечно же.

Nervous ★★★★★
()
Ответ на: комментарий от Nervous

Если ты вежливо попросишь, конечно же.

Нет в этом необходимости.

xaTa ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.