sorting an array / list ?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 07/03/2011 at 23:38, xxxxxxxx wrote:
Hi Everyone,
I am trying to sort an array which is called list in python i guess.
i triedboundingbox = activeobject.GetRad() print boundingbox alist = (boundingbox.x, boundingbox.y, boundingbox.z) print alist alist.sort()
which gives me
AttributeError: 'tuple' object has no attribute 'sort'
what am I doing wrong ?
thanks in advance
mogh -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/03/2011 at 02:05, xxxxxxxx wrote:
as py-doc non c4d's, to sort tuple-object, seems need to use `
itertools.permutations`( _iterable_ [, _r_ ])
or i'm making mistake?!
`
` import c4d,itertools from c4d import gui,documents #Welcome to the world of Python def main() : activeobject = doc.GetActiveObject() boundingbox = activeobject.GetRad() print boundingbox alist = (boundingbox.x, boundingbox.y, boundingbox.z) print alist print list(itertools.permutations(alist,2)) #alist.sort() if __name__=='__main__': main()
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/03/2011 at 05:07, xxxxxxxx wrote:
(200.0, 24.999999999999996, 100.0)
[(200.0, 24.999999999999996), (200.0, 100.0), (24.999999999999996, 200.0), (24.999999999999996, 100.0), (100.0, 200.0), (100.0, 24.999999999999996)]
your script gives me this as an output, which is wiered and not sorted at all?
still - thanks for your help
regrads mogh -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/03/2011 at 05:43, xxxxxxxx wrote:
product('ABCD', repeat=2)
AA AB AC AD BA BB BC BD CA CB CC CD DA DB DC DD
permutations('ABCD', 2)
AB AC AD BA BC BD CA CB CD DA DB DC
combinations('ABCD', 2)
AB AC AD BC BD CD
_<_t_>_all work with tuple
product()
p, q, ... [repeat=1] cartesian product, equivalent to a nested for-loop permutations()
p[, r] r-length tuples, all possible orderings, no repeated elements combinations()
p[, r] r-length tuples, in sorted order, no repeated elements_/t> -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/03/2011 at 06:11, xxxxxxxx wrote:
hm I guess we missunderstand each other, i want
(C,B,A,D) => (A,B,C,D)
but with the single values of a vector like
(200.0, 24.999999999999996, 100.0) => (200.0, 100.0, 24.999999999999996)
so when i acces the first of a list
i get the highes and when i acces the last the smallest number. There is probably a clever version for a min max but i need these 3 values sorted so min max wont do the job completely.
by the way how do i access the first in the list ?
alist[1] ???
kind regards mogh
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 08/03/2011 at 07:53, xxxxxxxx wrote:
you created a tuple instead of a list.. try this:
alist = [200.0, 24.999999999999996, 100.0]
print alist
alist.sort()
alist.reverse()
print alist
print alist[0] #first element -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/03/2011 at 01:12, xxxxxxxx wrote:
boundingbox = activeobject.GetRad() print boundingbox atuple = (boundingbox.x, boundingbox.y, boundingbox.z) alist = list(atuple) alist.sort() alist.reverse() print alist
thanks its working now, but i had to convert the tuple to a list first.
thanks for all your help
kind regards mogh -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 09/03/2011 at 09:14, xxxxxxxx wrote:
Well, can i ask Sebastian, can we manipulate tuple objects by native or in-built py-tools?
I see that can... or need to use conversation between data-objects as other methods are impossible?! -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 11/03/2011 at 13:32, xxxxxxxx wrote:
Tuples aren't like lists, they are meant to be kept "as is" and you can't change their values. They are more like a "constat list". You need to convert them to a list if you want to manipulate them, that's just the way it works in Python.