Можем ли мы сделать пользовательские переменные? - PullRequest
0 голосов
/ 04 июня 2019

Я застрял в каком-то кодировании и пробовал много вещей, таких как lists, arrays, vars() и многие другие, но ни одна из них не подходит для моей проблемы:

я хочу сделать "кастом"переменные, например: у нас есть var, и нам нужно 500 изображений этого и 12 категорий, что делает его 6000 различными версиями, которые мы просто не можем вставить, поэтому у нас будет цикл for, создающий каждую из них и присваивающий им значение типа var_1_1 = 16, var_2_1 = 254, var_3_1... var_499_12 = 5

я пытался использовать vars():

vars()[str("var_"+nb+"_"+cat)]

, некоторое время он работал нормально, пока я не попытался сделать var_x = Entry(window) и использовать.get() функция, которая быстро шла вниз, пока я не попробовал массивы и другие вещи в отчаянном движении

Ответы [ 3 ]

0 голосов
/ 04 июня 2019

Я полагаю, вы ищете 2d массив например,


items = [[1,2],[5,6]]

# so then
print(items[0][1])
# would give 2

0 голосов
/ 04 июня 2019

Если индексы представляют собой простые инкрементные целые числа, вы можете использовать многомерные списки:

x[0][0] = 16; x[0][1] = 254; ... x[11][498] = 5

В большинстве языков принято, что последний индекс изменяется быстрее всего.

Иначе вы можете использовать словарь для хранения произвольных строковых индексов.

Появился быстрый поиск: https://interactivepython.org/runestone/static/CS152f17/Lists/NestedLists.html

0 голосов
/ 04 июня 2019

Добро пожаловать в Переполнение стека!

Если у вас есть несколько значений для одной и той же цели, вы должны поместить их в список:

>>> spam = [1,2,3,4]
>>> print(spam)
[1,2,3,4]
>>> print(spam[0])
1

Вы также можете вкладывать списки, как это:

my_list = []
for i in range(12):
     inner_list = []
     for j in range(500):
         inner_list.append("image " + str(j) + "," + str(i))
     my_list.append(inner_list)
print(my_list[5][32])

Для получения дополнительной информации о списках см .: https://docs.python.org/3/tutorial/introduction.html#lists

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...