Egorro13
Ту тему я читал, связь уловил
У человека была строка ""
Умные люди посмотрев на строку сразу ему сказали, мил человек, исходно это был список объектов, не проще из него все выгрузить?
Но похоже человек не знает или игнорирует разницу между obj и str(obj)
Человек пока не умеет писать топики, поэтому не пишет что ему нужны два последние элемента.
Учитывая это получаем решение в 2 строчки (неявно предполагается что всегда будет 2 или более элемента)
import re
s="[(< 0x7efd951a8b00 tags 0:0:6> payload [1.3.6.1.2.1.1.3.0]>, < consts 0, 4294967295>> payload [943317]>), (<ObjectName value object at 0x7efd94ed49e8 tagSet <TagSet object at 0x7efd951a8b00 tags 0:0:6> payload [1.3.6.1.6.3.1.1.4.1.0]>,"
a,b = re.findall(r"payload +\[([\d\.]+)\]",s)[-2:]
Что видим в этом топике.
Человек воспользовался советами, но проигнорировал совет посмотреть что такое список.
В результате опять не видит разницы между объектом и его строковым представлением:
dima_ikar
есть определенная строка формат строки везде одинаковый но длина разная - пример
'1.3', ‘1854’, ‘1.4.1.0’, ‘6.3.1.1’, ‘47480.3.2.2.4.0’, ‘1’
Он опять не до конца формулирует задачу:
dima_ikar
прекрасно тоже верно только у меня строка заключена в квадратные скобки
В результате опять прежний кардебалет. Вы боретесь с кавычками и скобками, пишете кучу кода, запутываете его при помощи compile.
Реальная помощь человеку так это это посоветовать:
- Научиться до конца формулировать задачу
- Прочитать что такое списки (а неплохо и вообще учебник почитать).
- Прочитать документацию по объектам с которыми он работает (тогда ему и регулярки не потребуются см. ниже)
- Прочитать что такое регулярные выражения раз до них дошло.
А нужное ему решение наверное выглядит так:
[i.some_prop for i in some_input_list[-2:]]
Отредактировано doza_and (Май 4, 2019 08:01:57)