Преобразовать вложенный цикл в список для понимания - PullRequest
0 голосов
/ 03 декабря 2018

Я сделал для кода цикла вот так:

all = []
for sen_list in sen_lists:
    te = []
    for ele in sen_list:
        boolean = ele == "."
        te.append(boolean)
    all.append(te)

sen_lists = [['a', 'b', 'c', 'd', '.', '.'], ['e', 'f', 'g', 'h']]

верхний код работает хорошо ... но я хочу преобразовать код понимания списка.

Я пытаюсь так:

[ele == "." for sen_list in rawdf.TEXT[:10] for ele in sen_list]

но этот код не работает.

пожалуйста, дайте мне знать.спасибо.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Вам необходимо заключить булеву логику в [], чтобы boolean = знал, что она должна равняться.

boolean = [ele == '.']

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

0 голосов
/ 03 декабря 2018

Рассмотрим вложенное понимание списка.Или, другими словами, понимание списка из понимания списка.

Внутренний представляет ваш внутренний цикл for.Внешний представляет ваш внешний for цикл.

sen_lists = [['a', 'b', 'c', 'd', '.', '.'], ['e', 'f', 'g', 'h']]

res = [[ele == "." for ele in sen_list] for sen_list in sen_lists]

# [[False, False, False, False, True, True], [False, False, False, False]]
...