TypeError: string indices must be integers [СЛОВАРЬ, РАНДОМ]

import random

sp = [
      {
         'advice': 'Защитите своё устройство паролем',
         'title': '''Установите на своё устройство пароль для входа, это обезопасит ваш телефон от нежелательных лиц, которые захотят им попользоваться!'''
      },

      {
         'advice': 'Используйте антивирус',
         'title': '''Антивирусное програмнное обеспеченивания делает следующие:
Программа помогает предотвратить потерю данных или кражу личных данных
Предотвращение ухудшения функций компьютера
Сведение к минимуму риска различных видов подделки
Безопасное использование электронной почты
Возможность беспрепятственно просматривать различные типы веб-сайтов (при обнаружении угрозы антивирусная программа сообщит вам об этом)
Антивирусная программа также обнаруживает шпионское ПО '''
      },
]

b = random.choice(sp)
print(b)
for advice in b: 
    b1 = (advice['advice'])
for title in b: 
    b2 = (title['title'])

print(f"{b1}")
print(f"{b2}")

Как исправить ошибку?


Ответы (1 шт):

Автор решения: CrazyElf
for advice in b: 
    b1 = (advice['advice'])
for title in b: 
    b2 = (title['title'])

Эти циклы не нужны, вы уже получили конкретный словарь из списка, можно просто брать из него значения по ключам:

b1 = b['advice']
b2 = b['title']
→ Ссылка