Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 9 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 08.03.2006
Откуда: Калининград
Фото: 4
Есть лист из словарей:
Код:
list = [{'a': 'a1', 'b': 'b1', 'c': 'c1'},
         {'a': 'a2', 'b': 'b2', 'c': 'c2'},
         {'a': 'a2', 'b': 'b2', 'c': 'c2'}]


как мне сделать так, чтобы поиск по ключу 'a' в случае если такого значения нет в списке словарей выдавал print только один раз, а не для каждого словаря в списке?
Код:
delete = str(input('Enter name of programm for delete: '))       
for app in range(len(list)):                                               
    if list[app]['a'] == delete:                                     
        del list[app]                                                       
        json.dump(list, open('list_files', 'w'))                             
        print(f'{delete} deleted from sync. list')           
        break 

если добавлю сюда:
Код:
    else:
        print(f'{delete} not found in list')

то сообщение выводится для каждого app.
а мне нужно чтоб вывелось только 1 раз.



Партнер
 

Member
Статус: Не в сети
Регистрация: 13.05.2011
Откуда: Санкт-Петербург
Billy-no-mates Хз насколько это правильно, но попробуй логический переключатель воткнуть:

Код:
    flag = True
    for app in range(len(list)):
        if list[app]['a'] == delete:
            del list[app]
            json.dump(list, open('list_files', 'w'))
            print(f'{delete} deleted from sync. list')
            flag = False
            break
    if flag:
        print(f'{delete} not found in list')


 

Member
Статус: Не в сети
Регистрация: 08.03.2006
Откуда: Калининград
Фото: 4
madmystic писал(а):
Billy-no-mates Хз насколько это правильно, но попробуй логический переключатель воткнуть:

работает, спасибо!
А что значит
Код:
if flag:
?
это сокращение для
Код:
if flag == True:
?


 

Member
Статус: Не в сети
Регистрация: 13.05.2011
Откуда: Санкт-Петербург
Billy-no-mates писал(а):
А что значит
Код:
if flag:
?
это сокращение для
Код:
if flag == True:
?

Да, всё верно


 

Member
Статус: Не в сети
Регистрация: 11.07.2011
ты мутируешь лист во время итерации по нему и у тебя переменная list это зарезервированное ключевое слово


 

Member
Статус: Не в сети
Регистрация: 14.09.2016
Ребята, извиняюсь за оффтоп.
Сыну 12 лет. Весь мозг мне выклевал обучением на питоне.
Где можно взять обучение этому языку? Желательно на халяву.
Сам ничего не соображаю, желательно, чтобы он сам мог учиться?


 

Member
Статус: Не в сети
Регистрация: 13.05.2011
Откуда: Санкт-Петербург
Mitra33 Можете с этого начать https://stepik.org/course/67/promo
После вот этим продолжить https://stepik.org/course/512/promo


 

Member
Статус: Не в сети
Регистрация: 14.09.2016
Спасибо


 

Member
Статус: Не в сети
Регистрация: 18.04.2011
Откуда: Пушкин
Используйте функцию и return вместо break
Код:
   
def delete_foo(inp_list):
    delete = str(input('Enter name of programm for delete: '))   
    for i_app, app in enumerate(my_list):                                           
        if app['a'] == delete:
            del inp_list[i_app]
            json.dump(inp_list, open('list_files', 'w'))
            print(f'{delete} deleted from sync. list')
            return inp_list
    print(f'{delete} not found in list')
    return inp_list

my_list = [
    {'a': 'a1', 'b': 'b1', 'c': 'c1'},
    {'a': 'a2', 'b': 'b2', 'c': 'c2'},
    {'a': 'a2', 'b': 'b2', 'c': 'c2'}
]

updated_list = delete_foo(my_list)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 9 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  

Лаборатория














Новости

Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan