Проблема с вложенными циклами и операторами if else в Python, Jinja2Python

Программы на Python
Ответить
Anonymous
 Проблема с вложенными циклами и операторами if else в Python, Jinja2

Сообщение Anonymous »

Следующий код делает то, что должен, но мне нужно, чтобы он возвращал только один экземпляр в каждой категории; см. пример вывода ниже.

Код: Выделить всё

categories = [[1],
[2],
[3],
[4],
[5],
[6],
[7],
[8]]

files = [(5, 1, 25, 1, 'file.pdf'),
(6, 1, 25, 3, 'file.pdf'),
(7, 1, 25, 6, 'file.pdf'),]

for c in categories:
print(f'Category: {c[0]}')
for f in files:
if c[0] == f[3]:
print(f)
else:
print('Standard text block B')
Код возвращает следующее.

Код: Выделить всё

Category: 1
(5, 1, 25, 1, 'file.pdf')
Standard text block B
Standard text block B
Category: 2
Standard text block B
Standard text block B
Standard text block B
Category: 3
Standard text block B
(6, 1, 25, 3, 'file.pdf')
Standard text block B
Category: 4
Standard text block B
Standard text block B
Standard text block B
Category: 5
Standard text block B
Standard text block B
Standard text block B
Category: 6
Standard text block B
Standard text block B
(7, 1, 25, 6, 'file.pdf')
Category: 7
Standard text block B
Standard text block B
Standard text block B
Category: 8
Standard text block B
Standard text block B
Standard text block B
Но я ищу решение, позволяющее вернуть следующее:

Код: Выделить всё

Category: 1
(5, 1, 25, 1, 'file.pdf')
Category: 2
Standard text block B
Category: 3
(6, 1, 25, 3, 'file.pdf')
Category: 4
Standard text block B
Category: 5
Standard text block B
Category: 6
(7, 1, 25, 6, 'file.pdf')
Category: 7
Standard text block B
Category: 8
Standard text block B
Я хочу сделать это с помощью циклов с помощью Jinja2, но думаю, что сначала нужно найти решение с помощью Python.

Подробнее здесь: https://stackoverflow.com/questions/773 ... hon-jinja2
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»