Разделение нескольких точек в списке на несколько отдельных точек

Вы должны использовать для этого регулярное выражение.

db.users.find({name: /peter/i});

Будьте осторожны, однако, что этот запрос не использует индекс.

0
задан SKlein 27 February 2019 в 16:02
поделиться

2 ответа

Вы можете использовать вложенное понимание ist, проверяя, являются ли all символы в строках (при условии, что все элементы являются строками) ., а затем итерируя отдельные символы, в противном случае берется сам элемент.

>>> Item0, Item1 = "Item0", "Item1"
>>> lst = [Item0,'.','.','.','...','.',Item1,'.','.']
>>> [y for x in lst for y in (x if all(c=='.' for c in x) else [x])]
['Item0', '.', '.', '.', '.', '.', '.', '.', 'Item1', '.', '.']
0
ответ дан tobias_k 27 February 2019 в 16:02
поделиться

Вы можете использовать регулярное выражение:

import re

l = ['.', '...', 'Item1']

new_l = []
for i in l:
    if re.fullmatch(r'\.{2,}', i):
        new_l.extend(j for j in i)
    else:
        new_l.append(i)

print(new_l)
# ['.', '.', '.', '.', 'Item1']
0
ответ дан Mykola Zotko 27 February 2019 в 16:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: