Так вот структура моего дефолта
#x = {lead_id:[[month,pid,year]]
x={'123':[[1,9,2015],[2,9,2015]],'345':[[2,10,2015],[2,13,2014]],'159':[1,3,2015].....}
У меня есть более 1000 lead_id в этом словаре. Каждый из них имеет случайное количество списков. Другими словами, тот же lead_id имеет дубликаты, но с разным месяцем, pid или годом. Теперь я хочу посчитать все lead_id в январе 2015 года. Я хочу посчитать его как два, если его два раза или больше, в зависимости от его появления. Может кто-нибудь, пожалуйста, помогите мне выяснить, как я могу сделать автоматизированный код, чтобы он проверил длину, а также количество раз, что месяц с тем же годом произошел.
For example:
x={'123':[[1,3,2015],[2,5,2014],[1,5,2015]],'987':[[3,55,2014]],'456':[[1,37,2015]]}
count of jan 2015 = 3
3 ответа
Вы можете сделать условия на значения индекса. date[0]
- 1 на январь. date[2]
- 2015
#!/usr/bin/python
x={'123':[[1,3,2015],[2,5,2014],[1,5,2015]],'987':[[3,55,2014]],'456':[[1,37,2015]]}
#Set query dates
query_month = 1 #jan
query_year = 2015 #year
#Set a counter
jan_counts = 0
for list_of_dates in x.values():
for date in list_of_dates:
if (date[0] == query_month) and (date[2] == query_year):
jan_counts += 1
print jan_counts
#3
Это должно дать ваш результат:
>>> day = 1
>>> year = 2015
>>> x = {'123':[[1,3,2015],[2,5,2014],[1,5,2015]],'987':[[3,55,2014]],'456':[[1,37,2015]]}
>>> sum([1 for k, v in x.iteritems() for i in v if i[0] == day and i[2] == year])
3
Вы можете использовать это также ...
sum(1 for i in x for j in x[i] if j[0] == 1 and j[2] == 2015)
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.