170 похожих чатов

Есть идеи как превратить ”first[0].second[1]” в some_obj.first[0].second[1]?

12 ответов

4 просмотра

Вот тут нужен парсинг, а не эти ваши ценники с авито дёргать

первое – строка?

А что это за формат? Похоже так-то на jsonpath

Саша-Воронов Автор вопроса
Саша-Воронов Автор вопроса
Pavel Павлик
А что это за формат? Похоже так-то на jsonpath

deepdiff выдаёт строковые пасы до изменённых атрибутов

Пока в голову приходит только сплит по точке, затем внутри каждого элемента регуляркой вытаскивать название для гетаттра и индекс/ключ для гетитем

точнее? типа такого хочешь? def safe_eval(expression, obj): """ Safely evaluate an expression on an object. """ parts = expression.split('.') for part in parts: # If the part contains an index (e.g., [0]), separate the index and the attribute name if '[' in part and ']' in part: attr_name, index_str = re.match(r'([a-zA-Z_]\w*)\[(\d+)\]', part).groups() index = int(index_str) obj = getattr(obj, attr_name)[index] else: obj = getattr(obj, part) return obj # Define a class and an object for demonstration class SomeClass: def __init__(self): self.first = [AnotherClass(), AnotherClass()] class AnotherClass: def __init__(self): self.second = [1, 2] some_obj = SomeClass() # Example usage expression = "first[0].second[1]" result = safe_eval(expression, some_obj) result

Саша-Воронов Автор вопроса
Саша Воронов
типа такого, только не так

а как? примерный код накидай тогда

f"x.{yourstr}".format(x=some_obj)

Тоесть там фирст[0][0]?

Саша-Воронов Автор вопроса
Tishka17
f"x.{yourstr}".format(x=some_obj)

на выходе ж строка и получится

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

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
9
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Карта сайта