как посчитать количество словарей и сделать выборку по определенному ключу

Fortron

Новичок
Пользователь
Май 3, 2020
44
2
8
как посчитать количество словарей, которые находятся в переменной и сделать выборку по ключу ?


Например в переменной хранятся такие словари вместе с фигурными скобками. И все в квадратных скобках.

Код:
soup = [{"title" : "холодильник", "price" : "100 руб" , "цвет" : "белый"} ,
{"title" : "стиральная машина", "price" : "200 руб" , "цвет" : "черный"},
{"title" : "миксер", "price" : "50 руб" , "цвет" : "красный"}]

если содержимое переменной soup записать в файл, то в нем будут такие данные

Код:
[{"title" : "холодильник", "price" : "100 руб" , "цвет" : "белый"} ,
{"title" : "стиральная машина", "price" : "200 руб" , "цвет" : "черный"},
{"title" : "миксер", "price" : "50 руб" , "цвет" : "красный"}]


И нужно получить значения каждого ключа "title" .
Что бы в файле items.txt была таблица:

холодильник
стиральная машина
миксер

метод
Код:
i = len(soup)
не работает - показывает 1 элемент из-за квадратных скобок.

класс данных переменной soup
Код:
class 'bs4.element.resultset'
 
Последнее редактирование:

stud_55

Модератор
Команда форума
Модератор
Апр 3, 2020
1 522
672
113
как посчитать количество словарей, которые находятся в переменной и сделать выборку по ключу ?

И нужно получить значения каждого ключа "title" .
Что бы в файле items.txt была таблица:

холодильник
стиральная машина
миксер
Вот пример:
Python:
soup = [{"title" : "холодильник", "price" : "100 руб" , "цвет" : "белый"} ,
        {"title" : "стиральная машина", "price" : "200 руб" , "цвет" : "черный"},
        {"title" : "миксер", "price" : "50 руб" , "цвет" : "красный"}]

count = 0
with open('items.txt', 'w', encoding='utf-8') as f:
    for i in soup:
        count += 1
        f.write(i['title'])
        
print(count) # количество словарей
 
  • Мне нравится
Реакции: Vlad_SD

MaksimD

Пользователь
Пользователь
Май 12, 2020
51
11
8
как посчитать количество словарей, которые находятся в переменной и сделать выборку по ключу ?

Код:
#!usr/bin/python
#coding=utf-8

soup = [{"title" : "холодильник", "price" : "100 руб" , "цвет" : "белый"} ,
{"title" : "стиральная машина", "price" : "200 руб" , "цвет" : "черный"},
{"title" : "миксер", "price" : "50 руб" , "цвет" : "красный"}]



#количество ключей в soup
n = len(soup)

file = open("out.txt", 'w')

for i in range(n):  
    for keys in soup[i]:
        if keys == 'title':
            print("{})Title: {}".format(i, soup[i][keys]))
            file.write("{})Title: {}\n".format(i, soup[i][keys]))
file.write("Количество ключе: %d\n" %n)
file.close()
print("Done.")
 
Последнее редактирование:

Форум IT Специалистов