Comparison operator work with tuples and other
sequences. For example let’s define two tuples.
>>> t1 = (0, 1, 2) >>>t2 = (0, 4, 5) >>> t1 < t2 True >>>t1 > t2 False
When
we type t1 < t2 the Python starts comparing the first element from each
sequence. If the first element is equal in both sequences the Python is
comparing next sequence elements until it finds those elements that differ. So
in first statement t1 < t2 Python starts by comparing first element of t1
and first element of t2. Since they are both equal the Python is comparing the
second element of t1 (1) and t2 (4). The 1 is less than 4 so that’s True. The
final comparison is the third element of t1 (2) and t2 (5) and the answer is
True which means that in deed the t1 is less than t2. The second statement t1
> t2 is False because elements of tuple t1 are smaller than elements in t2.
The
sort function can be also applied on tuples. It sorts primarily by first
element, but in the case of a tie, it sorts by second element. This feature
lends itself to a pattern called DSU and DSU stands for:
DECORATE
– sequence by building a list of tuples with one or more sort key preceding the
elements from the sequence,
SORT
– the list of tuples using Python built-in sort, and
UNDECORATE
– by extracting the sorted elements of the sequence.
Try
typing the following code.
txt = "Python is a programming language that lets you work quickly and integrate systems more effectively." words = txt.split() t = list() for word in words: t.append((len(word),word)) print 't = ' + str(t) t.sort(reverse=True) res = list() for length, word in t: res.append(word) print res
Output
is given below
t = [(6, 'Python'), (2, 'is'), (1, 'a'), (11, 'programming'), (8, 'language'), (4, 'that'), (4, 'lets'), (3, 'you'), (4, 'work'), (7, 'quickly'), (3, 'and'), (9, 'integrate'), (7, 'systems'), (4, 'more'), (12, 'effectively.')] ['effectively.', 'programming', 'integrate', 'language', 'systems', 'quickly', 'Python', 'work', 'that', 'more', 'lets', 'you', 'and', 'is', 'a']
The
first loop builds a list of tuples, where each tuple is preceded by its length.
Sort compare the first element, length, first and only considers the second
element to break ties. The keyword argument reverse = True tells sort to go in
decreasing order.
nice post.
OdgovoriIzbrišipython online training
python training