Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641

Задача двумерным спискам

10.03.2023, 19:05. Показов 851. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, подскажите как записать в двумерный список объект(в реализации записываю виджет модуля TKinter Entry) так, чтобы затем обратиться к нему начиная с позиции [0][0]. сколько не ни пробую, получается только с позиции [0][1]

ну к примеру:
Python
1
2
3
4
5
6
7
8
    def grid(self):
        for i in range(0,self.y):
            self.cell.append([i])
            for j in range(1,self.x):
                v=Entry(width=5)   
                self.cell[i].append(v)
                self.cell[i][j].grid(row=i,column=j)
        return self.cell
Такт вот обращение к ячейке cell возможно только по позиции [0][1], а нужно начать с позиции [0][0]
Есть ли решение?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.03.2023, 19:05
Ответы с готовыми решениями:

Задача по спискам
Дан массив размера N. Найти номера тех элементов массива, которые больше своего левого соседа, и количество таких элементов. Найти номера...

Задача по спискам(массивам)
Дано два массива: I – информация о скорости n автомобилей II – информация о времени автомобилей в пути Создать третий массив, в...

Задача по массивам и спискам
Дан одномерный массив, который содержит информацию о заказах 3-х фирм за год. Фирмы заказывают по 2 раза в месяц 3 товара (всегда три)....

13
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
10.03.2023, 19:36
возможно
Python
1
for j in range(0,self.x):
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
10.03.2023, 19:40  [ТС]
так это же будет одномерный массив, и как же получится обратиться к ячейке то по call[i][j]?
0
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
10.03.2023, 20:37
Это имеете ввиду?
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cell = []
x = 6
y = 6
def grid():
        for i in range(0,y):
            cell2 = []
            cell.append([i])
            for j in range(1,x):
                v=5   
                cell2.append(v)
            cell[i].append(cell2)
                #cell[i][j].grid(row=i,column=j)
        return cell
print(grid())
 
print(cell[0][0]) #0
print(cell[0][1][0]) #5
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
10.03.2023, 20:49  [ТС]
нее, не то пальто) то же самое получилось у вас, что и у меня. суть в том, что переменная "v" это виджет Tkinter`a. Объект в общем, и к первому из экземпляров объектов необходимо начать обращение с Call[0][0], с нулевой позиции в общем, вот как это сделать
0
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
10.03.2023, 21:36
Ну значит и нужно этот обьект поместить изначально в эту ячейку,тоесть в первом цикле for а не во втором
Или я опять неправильно чтото понимаю
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
10.03.2023, 21:48  [ТС]
при создании двумерного массива объект(переменная) помещается внутри двух циклов for, по другому вроде никак. так вот получается так, что значения (координат что ли, как их назвать) получаются с индексами [0][1], а хотелось бы [0][0]. или может уже прям исходники скинуть полностью?
0
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
10.03.2023, 22:20
Цитата Сообщение от TimutGin Посмотреть сообщение
обьект поместить изначально в эту ячейку,тоесть в первом цикле for а не во втором
Потому-что в [0][0] сначала помещается значение из первого цикла(cell.append([i])), затем в [0][1] помещаются экземпляры обьектов
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
10.03.2023, 22:22  [ТС]
да я это прекрасно понимаю, поэтому и интересуюсь, есть ли такое решение, где можно все-таки загнать объект именно в позицию [0][0], может не с помощью списков даже, без разницы, чтобы можно было обращаться к нему по индексам в общем
0
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
10.03.2023, 22:39
Может так
Python
1
self.cell[i].insert(0, v)
Затем уже в нужном месте
Python
1
2
array = grid()
array[0][0].pack()
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
10.03.2023, 22:45  [ТС]
Цитата Сообщение от TimutGin Посмотреть сообщение
Может так
PythonВыделить код
1
self.cell[i].insert(0, v)
это в одномерный список, а обращение должно быть по индексам [x][y]
чтоб было понятней, создаю виджет таблицы для Tkinter, как бы все норм сделал, но не нравится мне, что обращаться к начальной ячейке приходится по индексу [0][1], ну и дальше к следующим ячейкам со сдвигом на 1 получается, некрасиво как то. вот и подумал, что есть же наверно решение этой проблемы
0
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,307
10.03.2023, 22:48
Цитата Сообщение от s_t_r_a_j Посмотреть сообщение
Python
1
self.cell.append([i])
По факту вы создается двумерный массив, первый элемент каждой строки которого является номером этой строки, это избыточно, индексы строк можно держать и в голове
Python
1
sef.cell[i] = []
0
 Аватар для TimutGin
515 / 339 / 146
Регистрация: 16.02.2021
Сообщений: 626
10.03.2023, 22:51
Python
1
self.cell[i].insert(j-1, v)
0
 Аватар для s_t_r_a_j
526 / 179 / 58
Регистрация: 12.02.2023
Сообщений: 641
10.03.2023, 23:10  [ТС]
Цитата Сообщение от kazak Посмотреть сообщение
1
sef.cell[i] = []
пробовал так, ранг индекса не соответствует, как бы даже я это понимаю

Добавлено через 1 минуту
Цитата Сообщение от TimutGin Посмотреть сообщение
self.cell[i].insert(j-1, v)
тоже нет, вы опять и снова предлагаете одномерный массив, хотя пробовал чтото подобное , тоже ранг индекса...

Добавлено через 10 минут
всех благодарю! мне подсказали верное решение...
Python
1
2
3
4
5
6
7
8
9
    def grid(self):
        for i in range(0,self.y):
            cell2=[]
            for j in range(0,self.x):                
                v=Entry(width=5)
                v.grid(row=i,column=j)
                cell2.append(v)
                self.cell.append(cell2)
        return self.cell
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.03.2023, 23:10
Помогаю со студенческими работами здесь

Задача с двумерным массивом
Дан двумерный массив размерностью N*M, заполненный целыми числами. Сформировать одномерный массив, каждый элемент которого равен первому...

задача по спискам.
Возникли вопросы с программой, помогите пожалуйста решить: Необходимо построить список из символов вводимого с клавиатуры текста. Вывести...

Задача по спискам
Имеются сведения об автомобилях: марка, год выпуска. Создать очередь, вывести её на экран. Определить средний год выпуска, удалить...

Задача по спискам C++(консоль)
здравствуйте уважаемые форумчане. Немогли бы вы помочь с решение задачи на тему списки которую мне задали в универе. При написании нельзя...

Задача по кольцевым спискам
Необходимо решить задачу: Составить программу, которая в кольцевой список из n элементов добавляет m новых элементов так, чтобы новый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru