Обычно преобразование циклов в списки

1

Я пытаюсь понять синтаксис преобразования для циклов для перечисления понятий.

Я понимаю самые основы, которые будут:

[expression **for** item **in** list **if** conditional]

Однако у меня есть цикл for, который сохраняет значение в промежуточной переменной. Я новичок в Python, поэтому с моей стороны это может быть неаккуратное кодирование:

for n in wf:
    if n == 'Table of Contents':
        continue
    name = wf[n].iloc[1,2]
    store_list.append(name)

Я не уверен, как сохранить переменную name в понимании списка. Нужно ли хранить его? Есть ли лучший способ кодировать это?

store_list1=[]
store_list1 = [name = wf[n].iloc[1,2], store_list1.append(name) for n in wf if not == 'Table of Contents']

Приведенный выше код возвращает синтаксическую ошибку на знаке равенства... Может ли кто-нибудь объяснить мне, можно ли закодировать этот конкретный цикл в качестве понимания списка? Заранее спасибо,

  • 1
    является wf в Словаре? Что n будет?
  • 0
    Мои извенения. wf - это книга Excel, которую я прочитал как объект dict, используя None в качестве аргумента для sheet_name = ... n, возвращает ячейку, содержащую строку с именем магазина.
Показать ещё 1 комментарий
Теги:
python-3.x

2 ответа

4
Лучший ответ

Попробуй это

store_list1 = [wf[n].iloc[1,2] for n in wf if n != 'Table of Contents']
  • 0
    Это именно то, что я искал. Я думаю, что вижу, как сохранение в промежуточную переменную и добавление было избыточно в моем коде. Спасибо
2

Из контекста, добавленного в комментарии, wf является dict. Поэтому дважды не смотрите вверх по ключу - вместо этого вы хотите перебирать парами элементы wf:

store_list = [v.iloc[1,2] for k, v in wf.items() if k != 'Table of Contents']
  • 0
    Это также отличный ответ ... Я только начинаю пытаться изучать список и словарь. Есть ли хороший ресурс для изучения?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню