Форум сайта python.su
4
py.user.nextА что делать с Tkinter, который как раз работает в соответствии с логикой slice? Мне *нужно* знать индексы как входных данных для Tkinter, так и выходных данных из него, потому что я анализирую текст. Причем, насколько я понял из своего опыта с Tkinter, положение ‘1.40’ может означать как строку 0, столбец 39, так и строку 0, столбец 40, в зависимости от того, начало это или конец выделения. Запоминать каждый раз, какой это элемент - начальный или конечный? Это тупо и нерационально. Вычислять по длине? Опять лишние телодвижения и лишние такты процессора, да и длину элемента я могу не знать.
То есть индексы его элементов не нужно знать, потому что в результате получается новый набор индексов.
Если же ты будешь по-своему вычислять, то это будет 158 - 150 = 8, а потом 8 + 1 = 9.А я не могу понять, как можно вычислять по-другому. 3 яблока не превращаются в 2 только потому, что в срезе
[1:3]
Отредактировано vanvanov (Ноя. 7, 2014 21:36:39)
Офлайн
857
vanvanovА что там в Tkinter? Там вообще, по-моему, вся логика другая.
А что делать с Tkinter, который как раз работает в соответствии с логикой slice?
vanvanovЕсли паскаль возьмёшь, как раз так и будешь вычислять. Сначала вычислять разность между индексами, а потом добавлять к разности единицу.
А я не могу понять, как можно вычислять по-другому.
vanvanov
3 яблока не превращаются в 2 только потому, что в срезеякобы 2 элемента.[1:3]
>>> lst = ['apple' + str(i + 1) for i in range(5)] >>> lst ['apple1', 'apple2', 'apple3', 'apple4', 'apple5'] >>> lst[1:3] ['apple2', 'apple3'] >>> >>> lst[-3:-1] ['apple3', 'apple4'] >>>
Отредактировано py.user.next (Ноя. 7, 2014 23:36:20)
Офлайн
4
py.user.nextТам конец выделения вычисляется, судя по всему, прибавлением len(). Ввиду этого, для того, чтобы выделить, например, 5-й символ в тексте, надо назначить тэг выделения для позиций ‘1.5’,'1.6'. Вообще, это все реализовано крайне неудобно. Вместо ‘1.5’,'1.6' можно было бы указывать
А что там в Tkinter? Там вообще, по-моему, вся логика другая.
[0,5]
[5,5]
[75,100]
Как не превращаются? ПревращаютсяЯ имел в виду, в реальной жизни
Отредактировано vanvanov (Ноя. 8, 2014 11:59:14)
Офлайн