variable X procuct - [(x,y) for x in list1 for y in list2]
steindl fritz
python at floSoft.org
Wed May 29 11:23:21 EDT 2002
steindl fritz wrote:
hello and many thx to all,
----------------------------------------------
my shortest version was only like this )-:
def cross(listOfLists):
if len(listOfLists) == 1:
grid = []
for i in range(len(listOfLists[0])):
grid.append([listOfLists[0][i]])
return grid
else:
list = listOfLists.pop(0)
grid = cross(listOfLists)
lengthList = len(list)
lengthGrid = len(grid)
for i in range(lengthList-1):
for j in range(lengthGrid):
newList = []
for i in range(len(grid[j])): newList.append(grid[j][i])
grid.append(newList)
for i in range(lengthList):
for j in range(lengthGrid):
grid[i*lengthGrid + j].append(list[i])
return grid
<btw> generators will not be working with my
ZOPE 2.5 installation (python 2.1.2)
------------------------------------------------
the shortest version was like this -
def cross(x):
if x == []: return [[]]
return [[z]+y for y in cross(x[1:]) for z in x[0]]
Usage: cross([list1,list2]), cross([list1,list2,list3]), ...
special thx to Paul
--------------------------------------------------
steindl fritz
(-:fs)
vienna, earth, universe
More information about the Python-list
mailing list