@@ -55,13 +55,13 @@ The samples below mirrors the C# LINQ samples layout with the names of the top-l
5555|| ` IEnumerable.TakeWhile(predicate) ` | ` itertools.takewhile(predicate, sequence) ` ||
5656|| ` IEnumerable.Skip(n) ` | ` array[n:] ` ||
5757|| ` SkipWhile ` | ` itertools.dropwhile(predicate, sequence) ` ||
58- | ** Ordering** | ` OrderBy ` | ` sequence.sort ` or</ br > ` sorted(sequence) ` ||
59- || ` OrderBy(lambda) ` | ` sequence.sort(key=lambda) ` or </ br > ` sorted(sequence, key=lambda) ` ||
60- || ` OrderByDescending ` | ` sequence.sort(reverseTrue ) ` or </ br > ` sorted(sequence, reverse=true ) ` ||
61- || ` OrderByDescending(lambda) ` | ` sequence.sort(key=lambda, reverseTrue ) ` or </ br > ` sorted(sequence, key=lambda, reverse=true ) ` ||
62- || ` ThenBy ` || ` sequence.sort(key=lambda (key1, key2)) ` or </ br > ` sorted(sequence, key=lambda (key1, key)) ` ||
63- || ` ThenByDescending ` || Custom [ order ] ( #dart-utils-added ) utility added, followed by ` reversed ` |
64- || ` Reverse ` | ` reverse ` ||
58+ | ** Ordering** | ` OrderBy ` | ` sequence.sort() ` * or * < br / > ` sorted(sequence) ` ||
59+ || ` OrderBy(lambda) ` | ` sequence.sort(key=lambda) ` * or * < br / > ` sorted(sequence, key=lambda) ` ||
60+ || ` OrderByDescending ` | ` sequence.sort(reverse=True ) ` * or * < br / > ` sorted(sequence, reverse=True ) ` ||
61+ || ` OrderByDescending(lambda) ` | ` sequence.sort(key=lambda, reverse=True ) ` * or * < br / > ` sorted(sequence, key=lambda, reverse=True ) ` ||
62+ || ` ThenBy ` | ` sequence.sort(key=lambda (key1, key2)) ` * or * < br / > ` sorted(sequence, key=lambda (key1, key)) ` ||
63+ || ` ThenByDescending ` | ` sequence.sort(key=lambda (key1, -key2)) ` * or * < br /> ` sorted(sequence, key=lambda (key1, -key2)) ` < br /> * or use a 2 pass sort, starting with least significant * < br /> ` ordered = sorted(unordered, key=lambda (key2)) ` < br /> ` ordered = sorted(ordered, key=lambda (key1)) ` |
64+ || ` Reverse ` | ` sequence. reverse() ` * or * ` reversed(sequence) ` ||
6565|** Grouping** |` GroupBy ` ||Custom [ group] ( #dart-utils-added-1 ) utility added
6666| ** Sets** | ` Distinct ` | ` toSet ` ||
6767|| ` Union ` | ` union ` ||
@@ -1445,8 +1445,8 @@ public void Linq35()
14451445def linq35 ():
14461446 digits = [" zero" , " one" , " two" , " three" , " four" , " five" , " six" , " seven" , " eight" , " nine" ]
14471447
1448- sorted_digits = sorted (digits, key = lambda s : (len (s ), s ))
1449-
1448+ sorted_digits = sorted (digits, key = lambda digit : (len (digit ), digit ))
1449+
14501450 print (" Sorted digits:" )
14511451 shared.printS(sorted_digits)
14521452```
@@ -1478,15 +1478,14 @@ public void Linq36()
14781478 ObjectDumper .Write (sortedWords );
14791479}
14801480```
1481- ``` dart
1482- //dart
1483- linq36(){
1484- var words = [ "aPPLE", "AbAcUs", "bRaNcH", "BlUeBeRrY", "ClOvEr", "cHeRry" ];
1485-
1486- var sortedWords = order(words, byAll:[(a,b) => a.length.compareTo(b.length), caseInsensitiveComparer]);
1487-
1488- sortedWords.forEach(print);
1489- }
1481+ ``` python
1482+ # python
1483+ def linq36 ():
1484+ words = [" aPPLE" , " AbAcUs" , " bRaNcH" , " BlUeBeRrY" , " ClOvEr" , " cHeRry" ]
1485+
1486+ sorted_words = sorted (words, key = lambda word : (len (word), word.casefold()))
1487+
1488+ shared.print_namespace(sorted_words)
14901489```
14911490#### Output
14921491
@@ -1511,15 +1510,16 @@ public void Linq37()
15111510 ObjectDumper .Write (sortedProducts );
15121511}
15131512```
1514- ``` dart
1515- //dart
1516- linq37(){
1517- var products = productsList();
1513+ ``` python
1514+ # python
1515+ def linq37 ():
1516+ products = shared.getProductList()
1517+
1518+ # negate secondary sort because its a number for reverse order
1519+ sorted_products = sorted (products, key = lambda product : (product.Category, - product.UnitPrice))
1520+
1521+ shared.print_namespace(sorted_products)
15181522
1519- var sortedProducts = order(products, onAll:[(a) => a.category, (a) => a.unitPrice * -1]);
1520-
1521- sortedProducts.forEach(print);
1522- }
15231523```
15241524#### Output
15251525
@@ -1548,15 +1548,17 @@ public void Linq38()
15481548 ObjectDumper .Write (sortedWords );
15491549}
15501550```
1551- ``` dart
1552- //dart
1553- linq38(){
1554- var words = [ "aPPLE", "AbAcUs", "bRaNcH", "BlUeBeRrY", "ClOvEr", "cHeRry" ];
1555-
1556- var sortedWords = order(words,
1557- byAll:[(a,b) => a.length.compareTo(b.length), (a,b) => caseInsensitiveComparer(b,a)]);
1551+ ``` python
1552+ # python
1553+ def linq38 ():
1554+ words = [" aPPLE" , " AbAcUs" , " bRaNcH" , " BlUeBeRrY" , " ClOvEr" , " cHeRry" ]
15581555
1559- sortedWords.forEach(print);
1556+ # two pass sort, sort by least significant first
1557+ sorted_words = sorted (words, key = lambda word : word.casefold(), reverse = True )
1558+ sorted_words = sorted (sorted_words, key = lambda word : len (word))
1559+
1560+
1561+ shared.printS(sorted_words)
15601562}
15611563```
15621564#### Output
@@ -1583,8 +1585,8 @@ public void Linq39()
15831585 reversedIDigits .ForEach (Console .WriteLine );
15841586}
15851587```
1586- ``` dart
1587- //dart
1588+ ``` python
1589+ # python
15881590linq39(){
15891591 var digits = [ " zero" , " one" , " two" , " three" , " four" , " five" , " six" , " seven" , " eight" , " nine" ];
15901592
0 commit comments