#python #list #loops #dictionary #for-loop
#python #Список #циклы #словарь #for-цикл
Вопрос:
У меня есть список словарей, и есть также элемент комментариев, как я могу распечатать числа с комментарием при печати этого списка следующим образом ,
- Пример комментария
- Другой пример комментария
вот мой код на python
entries = [{'First Name': 'Sher', 'Last Name': 'Khan', 'Age': '22', 'Telephone': '2989484'},
{'First Name': 'Ali', 'Last Name': 'Khan', 'Age': '22', 'Telephone': '398439'},
{'First Name': 'Talha', 'Last Name': 'Khan', 'Age': '22', 'Telephone': '3343434', 'comments': []}]
search = input("type your search: ")
if search in [person['Last Name'] for person in entries]:
for person in entries:
if person["Last Name"] == search:
print("Here are the records found for your search")
for e in person:
if e == "comments":
for comment in person["comments"]:
print(comment)
else:
print(e, ":", person[e])
else:
print("There is no record found as you search Keyword")
Ответ №1:
Вы можете использовать enumerate
:
entries = [{'First Name': 'Sher', 'Last Name': 'Khan', 'Age': '22', 'Telephone': '2989484'},
{'First Name': 'Ali', 'Last Name': 'Khan', 'Age': '22', 'Telephone': '398439'},
{'First Name': 'Talha', 'Last Name': 'Khan', 'Age': '22', 'Telephone': '3343434', 'comments': ['Comment 1','Comment 2']}]
search = input("type your search: ")
if search in [person['Last Name'] for person in entries]:
for person in entries:
if person["Last Name"] == search:
print("Here are the records found for your search")
for e in person:
if e == "comments":
for index,comment in enumerate(person[e]):
print(f"{index 1}. {comment}")
else:
print(e, ":", person[e])
else:
print("There is no record found as you search Keyword")
Вывод:
type your search: >? Khan
Here are the records found for your search
First Name : Sher
Last Name : Khan
Age : 22
Telephone : 2989484
Here are the records found for your search
First Name : Ali
Last Name : Khan
Age : 22
Telephone : 398439
Here are the records found for your search
First Name : Talha
Last Name : Khan
Age : 22
Telephone : 3343434
1. Comment 1
2. Comment 2
Комментарии:
1. а что, если я получу ввод от пользователя, например, пользователь вводит ввод 2. и я хочу удалить коммнет № 2. ?
2. Для этого вы должны использовать отдельный оператор ввода и отдельный цикл
3. Вы можете попробовать сделать это самостоятельно. Если вы не смогли этого сделать, вы можете задать его здесь или задать как отдельный вопрос, чтобы я мог вам помочь.