Форум сайта python.su
0
Проблема такая, нужно создать резиновый массив данных, почитал о листе, по идеи подходит, но как его создать такой хороший я так и не понял. Суть в том что мне нужен двумерный массив и свободная индексация по нему, либо создать его, допустим, размером 1000х1000, как-то я не очень впечтлён был способом со скобочками для решения таких проблем. Тип данных вводимый в массив должен быть striing.
Спасибо.
Офлайн
221
Решение “в лоб”
l=[] for i in xrange(1000): l.append(['']*1000)
Офлайн
0
спасибо





Офлайн
253
JOHN_16А почему тогда не
Решение “в лоб”
n=1000 [[""] * n] * n
a = {} a[(5,8)] = "asdas" print( a[(5,8)] )
Отредактировано doza_and (Май 7, 2013 07:09:45)
Офлайн
857
doza_and
А почему тогда неn=1000 [[""]*n]*n
>>> n = 10 >>> m = [[""] * n] * n >>> m [['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', ''], ['', '', '', '', '', '', '', '', '', '']] >>> m[0][0] = None >>> m [[None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', ''], [None, '', '', '', '', '', '', '', '', '']] >>>
Офлайн
253
py.user.nextСпасибо, забавно, надо обдумать.
А почему тогда не
>>> l=map(list,[("",)*3]*3) >>> l [['', '', ''], ['', '', ''], ['', '', '']] >>> map(id,l) [19461704, 19461824, 19461744]
import numpy as np l=np.zeros((3,3),dtype=np.dtype(object))
Офлайн
857
>>> n = 10 >>> m = [[0] * n for _ in range(n)] >>> m[0][0] = 1 >>> m [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]] >>>
Офлайн
47
в питоне есть встроенные массивы
Офлайн