I am trying to iterate over an array twice to have pairs of elements (e_i,e_j) but I only want the elements such that i < j.
Basically, what I want would look lik
I would suggest the following:
midIdx = len(mylist) / 2
[ dosomehing(ele_i, ele_j) for ele_i, ele_j in
zip( mylist[0:midIdx], mylist[midIdx + 1:len(mylist)] ) ]
For most interpreted language, for loop is not the best choice. Python provides list comprehension, which is more readable and efficient.
Can't you just use the range
function and go with:
vect = [...]
for i in range(0, len(vect)):
for j in range(i+1, len(vect)):
do_something()
Just use itertools.combinations(my_list, 2)
.