Skip to content

Commit 4a8dd63

Browse files
committed
better docstrings in utils
1 parent 49f6fce commit 4a8dd63

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

utils.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,7 @@ def table2str(table, missing, fullinfo=False):
444444
lines.extend(newlines)
445445
return '\n'.join(' | '.join(row) for row in lines)
446446

447+
447448
def table2csv(table, sep, missing, collapsed=0):
448449
'''table is a list of lists'''
449450
if not table:
@@ -523,9 +524,11 @@ def __str__(self):
523524
# copied from itertools recipes
524525
def unique(iterable):
525526
"""
526-
List all elements once, preserving order. Remember all elements ever seen.
527+
Yields all elements once, preserving order. Remember all elements ever
528+
seen.
529+
>>> list(unique('AAAABBBCCDAABBB'))
530+
['A', 'B', 'C', 'D']
527531
"""
528-
# unique('AAAABBBCCDAABBB') --> A B C D
529532
seen = set()
530533
seen_add = seen.add
531534
for element in iterable:
@@ -536,10 +539,13 @@ def unique(iterable):
536539

537540
def duplicates(iterable):
538541
"""
539-
List duplicated elements once, preserving order. Remember all elements ever
540-
seen.
542+
Yields duplicated elements once, preserving order. Remember all elements
543+
ever seen.
544+
>>> list(duplicates('AAAABBBCCDAABBB'))
545+
['A', 'B', 'C']
546+
>>> list(duplicates('ABBAAABBBCCDAABBB'))
547+
['B', 'A', 'C']
541548
"""
542-
# duplicates('AAAABBBCCDAABBB') --> A B C
543549
counts = defaultdict(int)
544550
for element in iterable:
545551
counts[element] += 1
@@ -551,8 +557,9 @@ def unique_duplicate(iterable):
551557
"""
552558
List all elements once and duplicated elements, preserving order.
553559
Remember all elements ever seen.
560+
>>> unique_duplicate('AAAABBBCCDAABBB')
561+
[A, B, C, D], [A, B, C]
554562
"""
555-
# unique_duplicate('AAAABBBCCDAABBB') --> [A, B, C, D], [A, B, C]
556563
counts = {}
557564
uniques = []
558565
dupes = []

0 commit comments

Comments
 (0)