# Subclass of list with more than 100 useful methods - pure Python
## pip install mehrlist
### All dependencies are pure Python
```python
| append(self, o)
| Append object to the end of the list.
|
| appendleft(self, v)
|
| bisect_category_mapping(self, cats)
|
| bisect_leftmost_value_equal_to(self, n)
|
| bisect_leftmost_value_greater_than(self, n)
|
| bisect_leftmost_value_greater_than_or_equal(self, n)
|
| bisect_rightmost_value_equal_to(self, n)
|
| bisect_rightmost_value_less_than(self, n)
|
| bisect_rightmost_value_less_than_or_equal(self, n)
|
| convert_all_to_nested_list(self)
|
| convert_to_list(self)
|
| count_all_items(self)
|
| del_items(self, value)
|
| extend(self, other) -> None
| Extend list by appending elements from the iterable.
|
| extendleft(self, other)
|
| find_common_start_string(self)
|
| find_sequence(self, seq: tuple, distance_tolerance=0)
|
| flatten(self)
|
| flatten_and_group_by(self, func, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| flatten_level(self, n=None, dict_treatment='items', consider_non_iter=(<class 'str'>, <class 'bytes'>))
|
| flatten_with_index(self)
|
| get_cycle_list_until_every_list_fits(self, maxresults=5, append=False)
|
| get_iter_2_cycle_second_until_first_done(self, other)
|
| get_iter_add_one_item_each_iteration(self)
|
| get_iter_add_one_item_each_iteration_reverse(self)
|
| get_iter_batch(self, n)
|
| get_iter_call_function_over_and_over_with_new_value(self, f)
| https://github.com/joelgrus/stupid-itertools-tricks-pydata/blob/master/src/stupid_tricks.py
|
| get_iter_cycle_shortest(self, other)
|
| get_iter_enumerated_unpacked(self)
|
| get_iter_every_nth_element(self, step=2)
|
| get_iter_find_same_beginning_elements(self)
|
| get_iter_find_same_ending_elements(self)
|
| get_iter_item_difference(self)
|
| get_iter_list_ljust_rjust(self, ljust=0, ljustchr=' ', rjust=0, rjustchr=' ', getmax=True)
|
| get_iter_log_split(self)
|
| get_iter_nested(self)
|
| get_iter_nested_for_loop(self)
|
| get_iter_nested_for_loop_enumerated(self)
|
| get_iter_nested_one_ahead(self)
|
| get_iter_nested_with_path(self)
|
| get_iter_random_values_from_iter_endless(self)
|
| get_iter_reverse_lists_of_list(self)
|
| get_iter_rotate_left(self, n, onlyfinal=False)
|
| get_iter_rotate_right(self, n, onlyfinal=False)
|
| get_iter_stop_when_next_item_is_duplicate(self)
| https://github.com/joelgrus/stupid-itertools-tricks-pydata/blob/master/src/stupid_tricks.py
|
| get_iter_transposed_list_of_lists(self)
|
| get_iter_windowed(self, n)
|
| get_iter_windowed_distance(self, fillvalue=None, distance=1)
|
| get_levenshtein_distance(self, strings)
|
| get_normalized_list_of_lists(self, fillv=None)
|
| get_random_not_repeating_values(self, howmany)
|
| get_random_values_with_max_rep(self, howmany, maxrep)
|
| get_shuffle_copied_list(self)
|
| group_by(self, func, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| group_coordinates_by_distance(self, coordlist, limit_x, limit_y, continue_on_exceptions=True)
|
| group_intersections(self, keep_duplicates=False)
|
| group_sequences(self, fu)
|
| group_values_in_flattened_nested_iter_and_count(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_almost_equal(self, value, equallimit, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_bigger_than(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_bigger_than_or_equal(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_can_be_divided_by(self, div, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_ceil(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_coords_almost_equal(self, x_coord, y_coord, limit_x, limit_y, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_decoding_result(self, mode='strict', continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_division_remainder(self, div, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_divisor(self, div, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_element_pos(self, pos, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_endswith(self, n, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_equal(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_euclid_dist(self, coord, mindistance=0, maxdistance=500, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_even_odd(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_file_extension(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_files_folder_link(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_first_item(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_first_occurrence_in_string(self, char, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_floor(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_frequency(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_is_integer(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isalnum(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isalpha(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isascii(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isdecimal(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isdigit(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isidentifier(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isin(self, value, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isiter(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_islower(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isna(self, emptyiters: bool = False, nastrings: bool = False, emptystrings: bool = False, emptybytes: bool = False, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isnumeric(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isprintable(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isspace(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_istitle(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_isupper(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_last_occurrence_in_string(self, char, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_less_than(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_less_than_or_equal(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_literal_eval_type(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_percentage(self, percent_true, group1=True, group2=False, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_regular_expression_matches(self, regexpressions, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_round(self, n, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_startswith(self, n, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_string_length(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_substring(self, substrings, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_sum(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_sys_size(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_type(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_valid_url(self, continue_on_exceptions=True, withindex=False, withvalue=True)
|
| groupby_words_in_texts(self, wordlist, case_sen=False, continue_on_exceptions=True, withindex=False, boundary_right=True, boundary_left=True, withvalue=True)
|
| index_all(self, n)
|
| insert(self, index, value) -> None
| Insert object before index.
|
| list_of_tuples_to_family_tree(self, main_mapping_keys=(), bi_rl_lr='bi')
|
| number_of_combinations(self, k)
| from https://stackoverflow.com/a/48612518/15096247
| Number of combinations of length *k* of the elements of *it*.
|
| popleft(self)
|
| remove_duplicates(self)
|
| repeat_items(self, reps)
|
| reshape(self, how)
|
| search(self, value)
|
| shape_repeat(self, shape)
|
| sorted(self, func, reverse=False)
|
| split_by_indices(self, indices)
|
| to_nested_dict(self)
import math
import random
import sys
from mehrlist import NestedList
li = NestedList(
[
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
[[1, 2], [3, 4]],
],
maxsize=30,
)
li.convert_all_to_nested_list()
li.to_nested_dict()
#
# Out[3]:
# {0: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 1: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 2: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 3: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 4: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 5: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 6: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 7: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 8: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 9: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 10: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},
# 11: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}}}
li.flatten()
# Out[4]: [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
li.flatten_with_index()
# Out[5]:
# [((0, 0, 0), 1), ((0, 0, 1), 2), ((0, 1, 0), 3), ((0, 1, 1), 4), ((1, 0, 0), 1), ((1, 0, 1), 2), ((1, 1, 0), 3), ((1, 1, 1), 4), ((2, 0, 0), 1), ((2, 0, 1), 2),
# ((2, 1, 0), 3), ((2, 1, 1), 4), ((3, 0, 0), 1), ((3, 0, 1), 2), ((3, 1, 0), 3), ((3, 1, 1), 4), ((4, 0, 0), 1), ((4, 0, 1), 2), ((4, 1, 0), 3), ((4, 1, 1), 4),
# ((5, 0, 0), 1), ((5, 0, 1), 2), ((5, 1, 0), 3), ((5, 1, 1), 4), ((6, 0, 0), 1), ((6, 0, 1), 2), ((6, 1, 0), 3), ((6, 1, 1), 4), ((7, 0, 0), 1), ((7, 0, 1), 2),
# ((7, 1, 0), 3), ((7, 1, 1), 4), ((8, 0, 0), 1), ((8, 0, 1), 2), ((8, 1, 0), 3), ((8, 1, 1), 4), ((9, 0, 0), 1), ((9, 0, 1), 2), ((9, 1, 0), 3), ((9, 1, 1), 4),
# ((10, 0, 0), 1), ((10, 0, 1), 2), ((10, 1, 0), 3), ((10, 1, 1), 4), ((11, 0, 0), 1), ((11, 0, 1), 2), ((11, 1, 0), 3), ((11, 1, 1), 4)]
li.remove_duplicates()
# Out[6]: [[[1, 2], [3, 4]]]
li.sorted(len)
# Out[7]:
# [[[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3,
# 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]]]
try:
n = NestedList(1)
except TypeError:
n = NestedList(1, convert_all=True)
print(n)
l = NestedList(range(50))
l.split_by_indices([2, 24, 48])
# [[0, 1], [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
# 41, 42, 43, 44, 45, 46, 47], [48, 49]]
list(l.get_iter_every_nth_element(9))
# Out[8]: [0, 9, 18, 27, 36, 45]
l.repeat_items(5)
# [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, ...]
list(l.get_iter_windowed(n=4))
# Out[12]:
# [(0, 1, 2, 3),
# (1, 2, 3, 4),
# (2, 3, 4, 5),
# (3, 4, 5, 6),
list(l.get_iter_batch(3))
# Out[14]:
# [[0, 1, 2],
# [3, 4, 5],
# [6, 7, 8],
# [9, 10, 11],
list(li.get_iter_nested_for_loop())[:2]
# Out[19]:
# [([1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2]),
# ([1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [3, 4])]
list(li.get_iter_nested_for_loop_enumerated())[:2]
# Out[20]:
# [(0,
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2]),
# (1,
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [1, 2],
# [3, 4])]
list(l.get_iter_add_one_item_each_iteration())[:5]
# Out[22]: [[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]
list(l.get_iter_add_one_item_each_iteration_reverse())[:5]
# Out[23]: [[49], [48, 49], [47, 48, 49], [46, 47, 48, 49], [45, 46, 47, 48, 49]]
l2 = NestedList(
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12],
[13, 14, 15],
[16, 17, 18],
[19, 20, 21],
]
)
l3 = NestedList(
[
[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]],
[[13, 14, 15], [16, 17, 18], [19, 20, 21]],
]
)
list(l3.get_iter_nested())
# Out[3]:
# [[[[1, 2, 3], [4, 5, 6]], [1, 2, 3], 1],
# [[[1, 2, 3], [4, 5, 6]], [1, 2, 3], 2],
# [[[1, 2, 3], [4, 5, 6]], [1, 2, 3], 3],
# [[[1, 2, 3], [4, 5, 6]], [4, 5, 6], 4],
# [[[1, 2, 3], [4, 5, 6]], [4, 5, 6], 5],
# [[[1, 2, 3], [4, 5, 6]], [4, 5, 6], 6],
# [[[7, 8, 9], [10, 11, 12]], [7, 8, 9], 7],
# [[[7, 8, 9], [10, 11, 12]], [7, 8, 9], 8],
# [[[7, 8, 9], [10, 11, 12]], [7, 8, 9], 9],
# [[[7, 8, 9], [10, 11, 12]], [10, 11, 12], 10],
# [[[7, 8, 9], [10, 11, 12]], [10, 11, 12], 11],
# [[[7, 8, 9], [10, 11, 12]], [10, 11, 12], 12],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [13, 14, 15], 13],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [13, 14, 15], 14],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [13, 14, 15], 15],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [16, 17, 18], 16],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [16, 17, 18], 17],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [16, 17, 18], 18],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [19, 20, 21], 19],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [19, 20, 21], 20],
# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [19, 20, 21], 21]]
list(l3.get_iter_nested_with_path())
# Out[3]:
# [[((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 0), [1, 2, 3]), ((0, 0, 0), 1)],
# [((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 0), [1, 2, 3]), ((0, 0, 1), 2)],
# [((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 0), [1, 2, 3]), ((0, 0, 2), 3)],
# [((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 1), [4, 5, 6]), ((0, 1, 0), 4)],
l4 = NestedList([[1, 2, 3, 4], [5, 1, 2, 3, 4], [55, 55, 1, 2, 3, 4]])
list(l4.get_iter_find_same_ending_elements())
# Out[4]: [1, 2, 3, 4]
l5 = NestedList(["ababa", "abacxxx", "abdd"])
list(l5.get_iter_find_same_beginning_elements())
# ['a', 'b']
l.reshape([20, [25], {1}, ((1,), 3)])
# Out[11]:
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
# 42, 43, 44], {45}, ((46,), 47, 48, 49)]
list(l4.get_iter_rotate_left(3))
# Out[14]:
# [['abacxxx', 'abdd', 'ababa'],
# ['abdd', 'ababa', 'abacxxx'],
# ['ababa', 'abacxxx', 'abdd']]
list(l4.get_iter_rotate_right(3))
# Out[15]:
# [['abdd', 'ababa', 'abacxxx'],
# ['abacxxx', 'abdd', 'ababa'],
# ['ababa', 'abacxxx', 'abdd']]
l4.shape_repeat((3, 4))
# Out[17]:
# [[['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd']], [['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd'],
# ['ababa', 'abacxxx', 'abdd']], [['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd']], [['ababa', 'abacxxx', 'abdd'],
# ['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd']]]
list(l2.get_iter_enumerated_unpacked())
# Out[19]:
# [(0, 1, 4, 7, 10, 13, 16, 19),
# (1, 2, 5, 8, 11, 14, 17, 20),
# (2, 3, 6, 9, 12, 15, 18, 21)]
list(l2.get_iter_cycle_shortest(range(10)))
# Out[21]:
# [([1, 2, 3], 0),
# ([4, 5, 6], 1),
# ([7, 8, 9], 2),
# ([10, 11, 12], 3),
# ([13, 14, 15], 4),
# ([16, 17, 18], 5),
# ([19, 20, 21], 6),
# ([1, 2, 3], 7),
# ([4, 5, 6], 8),
# ([7, 8, 9], 9)]
list(l2.get_iter_reverse_lists_of_list())
# Out[3]:
# [[3, 2, 1],
# [6, 5, 4],
# [9, 8, 7],
# [12, 11, 10],
# [15, 14, 13],
# [18, 17, 16],
# [21, 20, 19]]
l6 = NestedList([1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 0])
list(l6.get_iter_stop_when_next_item_is_duplicate())
# Out[4]: [1, 2, 3, 4, 5, 6, 7, 8]
list(l4.get_iter_nested_one_ahead())
# Out[8]:
# [[[[1, 2, 3, 4], 1], [[1, 2, 3, 4], 2]],
# [[[1, 2, 3, 4], 2], [[1, 2, 3, 4], 3]],
# [[[1, 2, 3, 4], 3], [[1, 2, 3, 4], 4]],
# [[[1, 2, 3, 4], 4], [[5, 1, 2, 3, 4], 5]],
# [[[5, 1, 2, 3, 4], 5], [[5, 1, 2, 3, 4], 1]],
# [[[5, 1, 2, 3, 4], 1], [[5, 1, 2, 3, 4], 2]],
# [[[5, 1, 2, 3, 4], 2], [[5, 1, 2, 3, 4], 3]],
# [[[5, 1, 2, 3, 4], 3], [[5, 1, 2, 3, 4], 4]],
# [[[5, 1, 2, 3, 4], 4], [[55, 55, 1, 2, 3, 4], 55]],
# [[[55, 55, 1, 2, 3, 4], 55], [[55, 55, 1, 2, 3, 4], 55]],
# [[[55, 55, 1, 2, 3, 4], 55], [[55, 55, 1, 2, 3, 4], 1]],
# [[[55, 55, 1, 2, 3, 4], 1], [[55, 55, 1, 2, 3, 4], 2]],
# [[[55, 55, 1, 2, 3, 4], 2], [[55, 55, 1, 2, 3, 4], 3]],
# [[[55, 55, 1, 2, 3, 4], 3], [[55, 55, 1, 2, 3, 4], 4]]]
l // 3
# Out[3]:
# [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
# [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],
# [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]]
for ini, v in enumerate(l.get_iter_random_values_from_iter_endless()):
print(v)
if ini == 5:
break
# 36
# 34
# 15
# 23
# 17
# 32
l9 = NestedList(["abab", "cbcv", "banana", "bbb"])
l9.groupby_element_pos(1)
# Out[9]: {'b': ['abab', 'cbcv', 'bbb'], 'a': ['banana']}
l10 = NestedList(["aaabbb", "ccbbbb", "ab", "zcvcb", "abbab"])
l10.groupby_substring("abbb")
# Out[7]: {'abbb': ['aaabbb'], '': ['ccbbbb', 'zcvcb'], 'ab': ['ab'], 'abb': ['abbab']}
l11 = NestedList(
[
["abab", "bac"],
["abab", "bac"],
["abab", "bac"],
1,
2,
34,
{43: 33},
{43: 33},
]
)
l11.count_all_items()
# Out[11]: [(['abab', 'bac'], 3), (1, 1), (2, 1), (34, 1), ({43: 33}, 2)]
l12 = NestedList(["anton", "annabell", "anschalten"])
l12.find_common_start_string()
# Out[12]: 'an'
list(l.get_iter_item_difference())
# [1,
# 1,
# 1,
# 1,
# 1...
l2.index_all([4, 5, 6])
# Out[3]: [1]
l2.index_all([1, 2, 3])
# Out[4]: [0]
l13 = NestedList([1, 1, 2, 34, 4, 1, 1, 2, 34, 4, 1, 1])
l13.index_all(1)
# Out[6]: [0, 1, 5, 6, 10, 11]
l2.popleft()
# Out[5]: [1, 2, 3]
l2
# Out[6]: [[4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]]
l2.appendleft(10)
l2
# Out[5]: [10, [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]]
seq = (0, 1), (1, 1), (1, 0)
l13 = NestedList(
[(random.randrange(0, 2), random.randrange(0, 2)) for _ in range(3000)]
)
for xz in l13.find_sequence(seq):
print(xz)
l13.del_items((0, 0))
l.get_random_values_with_max_rep(10, 2)
# Out[4]: [29, 14, 47, 35, 11, 16, 26, 42, 40, 7]
l.get_random_not_repeating_values(10)
# Out[5]: [33, 37, 20, 14, 47, 17, 44, 2, 46, 32]
for key, item in (
NestedList([[1, 2, 3, 4], [2, 3, 6]])
.get_cycle_list_until_every_list_fits(
maxresults=4,
append=True,
)
.items()
):
print(key, item)
# 12 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})
# 24 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})
# 36 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})
# 48 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})
l2.group_by(lambda x: isinstance(x, int))
# Out[6]:
# {True: [10],
# False: [[4, 5, 6],
# [7, 8, 9],
# [10, 11, 12],
# [13, 14, 15],
# [16, 17, 18],
# [19, 20, 21]]}
l.number_of_combinations(4)
# Out[10]: 230300
l3.flatten_and_group_by(lambda x: x > 10)
# Out[13]:
# {False: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
# True: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]}
l3.get_normalized_list_of_lists()
# Out[3]:
# [[[1, 2, 3], [4, 5, 6], None],
# [[7, 8, 9], [10, 11, 12], None],
# [[13, 14, 15], [16, 17, 18], [19, 20, 21]]]
list(l2[1:].get_iter_transposed_list_of_lists())
# Out[3]: [[4, 7, 10, 13, 16, 19], [5, 8, 11, 14, 17, 20], [6, 9, 12, 15, 18, 21]]
shu = l2.get_shuffle_copied_list()
print(shu)
for i, q in enumerate(
l.get_iter_call_function_over_and_over_with_new_value(lambda x: [y * 2 for y in x])
):
if i == 3:
break
print(q)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
# 42, 43, 44, 45, 46, 47, 48, 49]
# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]
# [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196]
list(l[:10].get_iter_windowed_distance(fillvalue=None, distance=3))
# Out[9]:
# [(None, 0, 3),
# (None, 1, 4),
# (None, 2, 5),
# (0, 3, 6),
# (1, 4, 7),
# (2, 5, 8),
# (3, 6, 9),
# (4, 7, None),
# (5, 8, None),
# (6, 9, None)]
list(l[:10].get_iter_2_cycle_second_until_first_done(range(3)))
# Out[11]:
# [(0, 0),
# (1, 1),
# (2, 2),
# (3, 0),
# (4, 1),
# (5, 2),
# (6, 0),
# (7, 1),
# (8, 2),
# (9, 0)]
NestedList(
[
("Maria", "Anna"),
("Anna", "Joao"),
("Kasimir", "Maria"),
("Hans", "Fritz"),
("Fritz", "Anna"),
("Günther", "Wolfgang"),
("Joao", "Wolfgang"),
]
).list_of_tuples_to_family_tree(main_mapping_keys=("Wolfgang",), bi_rl_lr="rl")
# ([(1, ('Wolfgang', 'Günther')),
# (2, ('Wolfgang', 'Joao', 'Anna', 'Maria', 'Kasimir')),
# (3, ('Wolfgang', 'Joao', 'Anna', 'Fritz', 'Hans'))],
# {'Wolfgang': {'Günther': 1,
# 'Joao': {'Anna': {'Maria': {'Kasimir': 2}, 'Fritz': {'Hans': 3}}}}})
NestedList(["ababa", "bubax", "ali bbaba"]).get_levenshtein_distance("ali baba")
# Out[3]: [[(1, 2, 'ali bbaba', 'ali baba'), (3, 0, 'ababa', 'ali baba'), (6, 1, 'bubax', 'ali baba')]]
NestedList(
[
[[("Maria", "Anna"), ("Anna", "Joao")]],
{("Kasimir", "Maria"), ("Hans", "Fritz")},
("Fritz", "Anna"),
{"Günther": "Wolfgang"},
("Joao", "Wolfgang"),
]
).flatten_level(n=None, dict_treatment="items", consider_non_iter=(str, bytes, dict))
# Out[5]:
# ['Maria',
# 'Anna',
# 'Anna',
# 'Joao',
# 'Kasimir',
# 'Maria',
# 'Hans',
# 'Fritz',
# 'Fritz',
# 'Anna',
# {'Günther': 'Wolfgang'},
# 'Joao',
# 'Wolfgang']
print(l.group_sequences(fu=lambda a, b: b > a)[0])
p = NestedList(["a", "aa", "b", "bbb", "c", "d", "dd", "ddd", "vbvdddd"])
print(p.group_sequences(fu=lambda a, b: a in b))
# [['a', 'aa'], ['b', 'bbb'], ['c'], ['d', 'dd', 'ddd', 'vbvdddd']]
k = NestedList([random.randint(0, 5) for x in range(20)])
print(k.group_sequences(lambda a, b: b >= a))
# [3, 1, 3, 5, 3, 4, 4, 3, 4, 3, 4, 4, 5, 1, 3, 2, 3, 1, 1, 3]
# [[3], [1, 3, 5], [3, 4, 4], [3, 4], [3, 4, 4, 5], [1, 3], [2, 3], [1, 1, 3]]
o = NestedList(
[(1, 2), (3, 4), (501, 641), (300, 4500), (1, 4344)]
).groupby_euclid_dist(
coord=(0, 0),
mindistance=0,
maxdistance=500,
)
# Out[6]: {True: [(1, 2), (3, 4)], False: [(501, 641), (300, 4500), (1, 4344)]}
NestedList(["a", "bbb", "b", "ddd", "444444"]).groupby_string_length()
# Out[3]: {1: ['a', 'b'], 3: ['bbb', 'ddd'], 6: ['444444']}
NestedList(
["a", "bbb", "b", "ddd", "444444", [1, [1, 1, 1, 1, 1, 1, [1]]]]
).group_values_in_flattened_nested_iter_and_count()
# Out[4]: {'a': 1, 'bbb': 1, 'b': 1, 'ddd': 1, '444444': 1, 1: 8}
NestedList(
["a", "bbb", "b", "ddd", "444444", [1, [1, 1, 1, 1, 1, 1, [1]]]]
).groupby_type()
# Out[5]: {str: ['a', 'bbb', 'b', 'ddd', '444444'], list: [[1, [1, 1, 1, 1, 1, 1, [1]]]]}
NestedList(
["a", "bbb", "b", "ddd", "444444", "a", "a", "ddd", [1, [1, 1, 1, 1, 1, 1, [1]]]]
).groupby_frequency()
# Out[6]:
# {3: ['a', 'a', 'a'],
# 1: ['bbb', 'b', '444444', [1, [1, 1, 1, 1, 1, 1, [1]]]],
# 2: ['ddd', 'ddd']}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_can_be_divided_by(2)
# Out[7]: {True: [4, 2, 2, 2344, 444, 222, 8, 0], False: [7, 7, 9, 7, 65, 45]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_division_remainder(2)
# Out[8]: {0: [4, 2, 2, 2344, 444, 222, 8, 0], 1: [7, 7, 9, 7, 65, 45]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_divisor(2)
# Out[9]:
# {2: [4],
# 1: [2, 2],
# 1172: [2344],
# 222: [444],
# 111: [222],
# 3: [7, 7, 7],
# 4: [8, 9],
# 0: [0],
# 32: [65],
# 22: [45]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_bigger_than_or_equal(100)
# Out[10]: {False: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], True: [2344, 444, 222]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_less_than_or_equal(100)
# Out[11]: {True: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], False: [2344, 444, 222]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_bigger_than(100)
# Out[12]: {False: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], True: [2344, 444, 222]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_less_than(100)
# Out[13]: {True: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], False: [2344, 444, 222]}
NestedList(
[
4,
2,
2,
2344,
444,
222,
7,
7,
8,
9,
0,
7,
65,
45,
]
).groupby_equal(7)
# Out[14]: {False: [4, 2, 2, 2344, 444, 222, 8, 9, 0, 65, 45], True: [7, 7, 7]}
NestedList(
["1342423", "ddd", "33333", "ixxx", "00"]
).groupby_regular_expression_matches(r"\d+")
# Out[15]: {True: ['1342423', '33333', '00'], False: ['ddd', 'ixxx']}
NestedList([2.0, 1, 1, 3, 5, 3.0, 3.4, 2.4, 25.3]).groupby_is_integer()
# Out[17]: {True: [2.0, 1, 1, 3, 5, 3.0], False: [3.4, 2.4, 25.3]}
NestedList(
[1.0, 1.1, 1.2, 1.3, 1.9, 1.8, 2.0, 1, 1, 3, 5, 3.0, 3.4, 2.4, 25.3]
).groupby_floor()
# Out[18]:
# {1: [1.0, 1.1, 1.2, 1.3, 1.9, 1.8, 1, 1],
# 2: [2.0, 2.4],
# 3: [3, 3.0, 3.4],
# 5: [5],
# 25: [25.3]}
NestedList(
[1.0, 1.1, 1.2, 1.3, 1.9, 1.8, 2.0, 1, 1, 3, 5, 3.0, 3.4, 2.4, 25.3]
).groupby_ceil()
# Out[19]:
# {1: [1.0, 1, 1],
# 2: [1.1, 1.2, 1.3, 1.9, 1.8, 2.0],
# 3: [3, 3.0, 2.4],
# 5: [5],
# 4: [3.4],
# 26: [25.3]}
seq = [
1.11111111,
1.111222222,
1.11113334,
1.3,
1.9,
1.8,
2.0,
1,
1,
3,
5,
3.0,
3.4,
2.4,
25.3,
]
NestedList(seq).groupby_round(n=2)
# Out[21]:
# {1.11: [1.11111111, 1.111222222, 1.11113334],
# 1.3: [1.3],
# 1.9: [1.9],
# 1.8: [1.8],
# 2.0: [2.0],
# 1: [1, 1],
# 3: [3, 3.0],
# 5: [5],
# 3.4: [3.4],
# 2.4: [2.4],
# 25.3: [25.3]}
seq = ["hallo", "boot", "baba", "bdoo", "flaot", "mama"]
NestedList(seq).groupby_endswith(n=1)
# Out[22]: {'o': ['hallo', 'bdoo'], 't': ['boot', 'flaot'], 'a': ['baba', 'mama']}
NestedList(seq).groupby_startswith(n=1)
# Out[23]: {'h': ['hallo', 'hmama'], 'b': ['boot', 'baba', 'bdoo'], 'f': ['flaot']}
NestedList(seq).groupby_first_occurrence_in_string(char="a")
# Out[25]: {1: ['hallo', 'baba'], -1: ['boot', 'bdoo'], 2: ['flaot', 'hmama']}
NestedList(seq).groupby_last_occurrence_in_string(char="a")
# Out[26]: {1: ['hallo'], -1: ['boot', 'bdoo'], 3: ['baba'], 2: ['flaot'], 4: ['hmama']}
NestedList(seq).groupby_isalnum()
# Out[28]: {True: ['One', '222'], False: ['%', '#']}
NestedList(seq).groupby_isalpha()
# Out[29]: {True: ['One'], False: ['%', '#', '222']}
NestedList(seq).groupby_isascii()
# Out[31]: {True: ['One', '%', '#', '222'], False: ['ç', 'ß']}
NestedList(seq).groupby_isdecimal()
# Out[32]: {False: ['One', '%', '#', 'ç', 'ß'], True: ['222']}
seq = """One % # 222 ç ß""".split()
NestedList(seq).groupby_isdigit()
# Out[33]: {False: ['One', '%', '#', 'ç', 'ß'], True: ['222']}
seq = """One % # 222 ç ß True if bool""".split()
NestedList(seq).groupby_isidentifier()
# Out[35]: {True: ['One', 'ç', 'ß', 'True', 'if', 'bool'], False: ['%', '#', '222']}
seq = """One % # 222 ç ß True if bool""".split()
NestedList(seq).groupby_islower()
# Out[37]: {False: ['One', '%', '#', '222', 'True'], True: ['ç', 'ß', 'if', 'bool']}
NestedList(seq).groupby_isnumeric()
# Out[38]: {False: ['One', '%', '#', 'ç', 'ß', 'True', 'if', 'bool'], True: ['222']}
seq = """One % # 222 ç ß True if bool""".split() + ["\r"]
NestedList(seq).groupby_isprintable()
# Out[42]: {True: ['One', '%', '#', '222', 'ç', 'ß', 'True', 'if', 'bool'], False: ['\r']}
NestedList(seq).groupby_isspace()
# Out[43]: {False: ['One', '%', '#', '222', 'ç', 'ß', 'True', 'if', 'bool'], True: ['\r']}
NestedList(seq).groupby_istitle()
# Out[44]: {True: ['One', 'True'], False: ['%', '#', '222', 'ç', 'ß', 'if', 'bool', '\r']}
seq = """One % # 222 ç ß True if bool AA""".split() + ["\r"]
NestedList(seq).groupby_isupper()
# Out[46]:
# {False: ['One', '%', '#', '222', 'ç', 'ß', 'True', 'if', 'bool', '\r'],
# True: ['AA']}
seq = """One % # 222 ç ß True if bool AA""".split()
NestedList(seq).groupby_isin("e")
# Out[48]: {True: ['One', 'True'], False: ['%', '#', '222', 'ç', 'ß', 'if', 'bool', 'AA']}
seq = [
(
g := random.randrange(1, 200),
f := random.randrange(1, 200),
g + 100,
f + 100,
)
for _ in range(10)
]
import numpy as np
import pandas as pd
seq = [pd.NA, np.nan, None, math.nan, 3, 54, 3, (22, 34, 412), {323, 31}, [3312, 3]]
NestedList(seq).groupby_isna(
emptyiters=False,
nastrings=False,
emptystrings=False,
emptybytes=False,
continue_on_exceptions=True,
withindex=False,
withvalue=True,
)
# Out[4]:
# {True: [<NA>, nan, None, nan],
# False: [3, 54, 3, (22, 34, 412), {31, 323}, [3312, 3]]}
seq = [pd.NA, np.nan, None, math.nan, 3, 54, 3, (22, 34, 412), {323, 31}, [3312, 3]]
NestedList(seq).groupby_isiter()
# Out[5]:
# {False: [<NA>, nan, None, nan, 3, 54, 3],
# True: [(22, 34, 412), {31, 323}, [3312, 3]]}
import os
NestedList(os.listdir(r"F:\gitrep\screenshots")).groupby_file_extension()
seq = [1, 2, 3, 45, 56, 6, 32, 12]
NestedList(seq).groupby_even_odd()
# Out[7]: {'odd': [1, 3, 45], 'even': [2, 56, 6, 32, 12]}
seq = [
os.path.join(r"F:\gitrep\screenshots", x)
for x in os.listdir(r"F:\gitrep\screenshots")
]
NestedList(seq).groupby_files_folder_link()
seq = [
[
1,
2,
34,
],
(1, 32, 4),
(2, 3, 4, 54),
[2, 3, 3],
]
NestedList(seq).groupby_first_item()
# Out[11]: {1: [[1, 2, 34], (1, 32, 4)], 2: [(2, 3, 4, 54), [2, 3, 3]]}
NestedList(
["autobahn", "computerproblem", "kind", "opa", "kind opa"]
).groupby_words_in_texts(
wordlist=["kind", "opa"],
case_sen=False,
continue_on_exceptions=True,
withindex=False,
boundary_right=True,
boundary_left=True,
)
# Out[4]:
# {(): ['autobahn', 'computerproblem'],
# ('kind',): ['kind'],
# ('opa',): ['opa'],
# ('kind', 'opa'): ['kind opa']}
seq = [[1, 2, 2], [5], [2, 3], [4, 4, 4], [12, 0], [6, 6], [1, 2]]
NestedList(seq).groupby_sum()
# Out[5]: {5: [[1, 2, 2], [5], [2, 3]], 12: [[4, 4, 4], [12, 0], [6, 6]], 3: [[1, 2]]}
seq = ["https://www.google.com", "google.com/", "bababa", "http://baba.de"]
NestedList(seq).groupby_valid_url()
# Out[6]:
# {'valid': ['https://www.google.com', 'http://baba.de'],
# 'not_valid': ['google.com/', 'bababa']}
seq = ["11", "bb", '"bb"']
NestedList(seq).groupby_literal_eval_type()
# Out[7]:
# {int: ['11'],
# 'EXCEPTION: malformed node or string on line 1: <ast.Name object at 0x000001BE3C6AC0A0>': ['bb'],
# str: ['"bb"']}
seq = [b"\\U0001D11E", b"baba"]
NestedList(seq).groupby_decoding_result()
seq = 2 * [1, 2, 34, 4, 2, 3, 54, 6, 6, 4, 3, 2, 21, 45, 56]
NestedList(seq).groupby_percentage(percent_true=63.7)
# Out[4]:
# {True: [1, 34, 2, 3, 54, 6, 2, 21, 45, 56, 1, 34, 4, 2, 3, 6, 4, 3, 2, 45, 56],
# False: [2, 4, 6, 4, 3, 2, 54, 6, 21]}
seq = [11, 200, 34, 4, 52, 63, 54, 65, 67, 48, 3, 2, 21, 55, 56, 59, 61, 60]
NestedList(seq).groupby_almost_equal(value=60, equallimit=3)
# Out[6]:
# {False: [11, 200, 34, 4, 52, 54, 65, 67, 48, 3, 2, 21, 55, 56],
# True: [63, 59, 61, 60]}
seq = 2 * [(1, 2), (34, 4), (2, 3), (61, 60)]
NestedList(seq).groupby_coords_almost_equal(
x_coord=4,
y_coord=3,
limit_x=5,
limit_y=1,
)
# Out[7]:
# {(True, True): [(1, 2), (2, 3), (1, 2), (2, 3)],
# (False, True): [(34, 4), (34, 4)],
# (False, False): [(61, 60), (61, 60)]}
coordlist = [
(745, 519),
(747, 522),
(747, 517),
(747, 517),
(750, 522),
(756, 449),
(757, 461),
(757, 461),
(757, 438),
(830, 144),
(759, 435),
(759, 435),
(761, 468),
(761, 468),
(764, 521),
(1079, 199),
(770, 474),
(770, 425),
(773, 516),
(776, 515),
(776, 515),
(778, 520),
(779, 519),
(780, 420),
(780, 420),
(782, 478),
(782, 478),
(1083, 151),
(1083, 151),
(1083, 151),
(1083, 151),
(784, 478),
(759, 435),
(784, 478),
(819, 137),
(819, 137),
(819, 137),
(797, 524),
(825, 125),
(826, 149),
(800, 446),
(800, 446),
(801, 517),
(801, 517),
(802, 520),
(802, 520),
(804, 519),
(804, 519),
(808, 431),
(808, 431),
(809, 464),
(809, 464),
(812, 438),
(813, 449),
]
xx = NestedList(coordlist).group_coordinates_by_distance(
coordlist, limit_x=10, limit_y=10, continue_on_exceptions=True
)
for x in xx:
print(x)
#
# ((813, 449),)
# ((779, 519), (773, 516), (776, 515), (778, 520), (764, 521))
# ((808, 431), (812, 438))
# ((1083, 151),)
# ((830, 144), (826, 149))
# ((761, 468), (757, 461), (770, 474))
# ((825, 125),)
# ((756, 449),)
# ((745, 519), (747, 517), (750, 522), (747, 522))
# ((780, 420), (770, 425))
# ((784, 478), (782, 478))
# ((804, 519), (802, 520), (797, 524), (801, 517))
# ((757, 438), (759, 435))
# ((819, 137),)
# ((809, 464),)
# ((800, 446),)
# ((1079, 199),)
seq = sorted(list(range(0, 5)) * 3)
print(NestedList(seq).bisect_rightmost_value_equal_to(4))
print(NestedList(seq).bisect_rightmost_value_equal_to(0))
print(NestedList(seq).bisect_rightmost_value_equal_to(1))
print(NestedList(seq).bisect_leftmost_value_equal_to(4))
print(NestedList(seq).bisect_leftmost_value_equal_to(0))
print(NestedList(seq).bisect_leftmost_value_equal_to(1))
print(NestedList(seq).bisect_rightmost_value_less_than(4))
print(NestedList(seq).bisect_rightmost_value_less_than(2))
print(NestedList(seq).bisect_rightmost_value_less_than(1))
print(NestedList(seq).bisect_rightmost_value_less_than_or_equal(40))
print(NestedList(seq).bisect_rightmost_value_less_than_or_equal(0))
print(NestedList(seq).bisect_rightmost_value_less_than_or_equal(1))
print(NestedList(seq).bisect_leftmost_value_greater_than(2))
print(NestedList(seq).bisect_leftmost_value_greater_than(3))
print(NestedList(seq).bisect_leftmost_value_greater_than(0))
print(NestedList(seq).bisect_leftmost_value_greater_than(1))
print(NestedList(seq).bisect_leftmost_value_greater_than_or_equal(3))
print(NestedList(seq).bisect_leftmost_value_greater_than_or_equal(0))
print(NestedList(seq).bisect_leftmost_value_greater_than_or_equal(1))
# 14
# 2
# 5
# 12
# 0
# 3
# 11
# 5
# 2
# 14
# 2
# 5
# 9
# 12
# 3
# 6
# 9
# 0
# 3
cervejas = [
("original", 2.5),
("Skol", 0.5),
("becks", 16),
("brahma", 1.4),
("heineken", 5.5),
]
cats_ = [
("barato", 1.3),
("mais ou menos", 2),
("caro", 3.1),
("muito caro", 6.5),
("absurdo", sys.maxsize),
]
NestedList(cervejas).bisect_category_mapping(cats_)
# Out[4]:
# [(('original', 2.5), 'caro'),
# (('Skol', 0.5), 'barato'),
# (('becks', 16), 'absurdo'),
# (('brahma', 1.4), 'mais ou menos'),
# (('heineken', 5.5), 'muito caro')]
text = """
Read the running tests and linters section of our documentation to learn how to test your code. For cross-browser
""".split() + [
1,
2,
3,
]
list(
NestedList(text).get_iter_list_ljust_rjust(
ljust=None, # if None and getmax is True -> the longest str will be used
ljustchr="-", # fill with char
rjust=None, # if None and getmax is True -> the longest str will be used
rjustchr="-", # fill with char
getmax=True,
)
)
# Out[5]:
# ['---------Read',
# '----------the',
# '------running',
# '--------tests',
# '----------and',
# '------linters',
# '------section',
# '-----------of',
# '----------our',
# 'documentation',
# '-----------to',
# '--------learn',
# '----------how',
# '-----------to',
# '---------test',
# '---------your',
# '--------code.',
# '----------For',
# 'cross-browser',
# '------------1',
# '------------2',
# '------------3']
for li in NestedList((list(range(20)))).get_iter_log_split():
print(li)
# [0]
# [1, 2]
# [3, 4, 5]
# [6, 7, 8, 9]
# [10, 11, 12, 13, 14]
# [15, 16, 17, 18, 19]
```
Raw data
{
"_id": null,
"home_page": "https://github.com/hansalemaos/mehrlist",
"name": "mehrlist",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "nested,list",
"author": "Johannes Fischer",
"author_email": "aulasparticularesdealemaosp@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/e3/fd/1f021bccbb848a4d8d4965fb94ede842d4237bd883d90d462e5b8ea38414/mehrlist-0.10.tar.gz",
"platform": null,
"description": "\r\n# Subclass of list with more than 100 useful methods - pure Python \r\n \r\n## pip install mehrlist\r\n\r\n### All dependencies are pure Python\r\n\r\n\r\n ```python\r\n | append(self, o)\r\n | Append object to the end of the list.\r\n | \r\n | appendleft(self, v)\r\n | \r\n | bisect_category_mapping(self, cats)\r\n | \r\n | bisect_leftmost_value_equal_to(self, n)\r\n | \r\n | bisect_leftmost_value_greater_than(self, n)\r\n | \r\n | bisect_leftmost_value_greater_than_or_equal(self, n)\r\n | \r\n | bisect_rightmost_value_equal_to(self, n)\r\n | \r\n | bisect_rightmost_value_less_than(self, n)\r\n | \r\n | bisect_rightmost_value_less_than_or_equal(self, n)\r\n | \r\n | convert_all_to_nested_list(self)\r\n | \r\n | convert_to_list(self)\r\n | \r\n | count_all_items(self)\r\n | \r\n | del_items(self, value)\r\n | \r\n | extend(self, other) -> None\r\n | Extend list by appending elements from the iterable.\r\n | \r\n | extendleft(self, other)\r\n | \r\n | find_common_start_string(self)\r\n | \r\n | find_sequence(self, seq: tuple, distance_tolerance=0)\r\n | \r\n | flatten(self)\r\n | \r\n | flatten_and_group_by(self, func, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | flatten_level(self, n=None, dict_treatment='items', consider_non_iter=(<class 'str'>, <class 'bytes'>))\r\n | \r\n | flatten_with_index(self)\r\n | \r\n | get_cycle_list_until_every_list_fits(self, maxresults=5, append=False)\r\n | \r\n | get_iter_2_cycle_second_until_first_done(self, other)\r\n | \r\n | get_iter_add_one_item_each_iteration(self)\r\n | \r\n | get_iter_add_one_item_each_iteration_reverse(self)\r\n | \r\n | get_iter_batch(self, n)\r\n | \r\n | get_iter_call_function_over_and_over_with_new_value(self, f)\r\n | https://github.com/joelgrus/stupid-itertools-tricks-pydata/blob/master/src/stupid_tricks.py\r\n | \r\n | get_iter_cycle_shortest(self, other)\r\n | \r\n | get_iter_enumerated_unpacked(self)\r\n | \r\n | get_iter_every_nth_element(self, step=2)\r\n | \r\n | get_iter_find_same_beginning_elements(self)\r\n | \r\n | get_iter_find_same_ending_elements(self)\r\n | \r\n | get_iter_item_difference(self)\r\n | \r\n | get_iter_list_ljust_rjust(self, ljust=0, ljustchr=' ', rjust=0, rjustchr=' ', getmax=True)\r\n | \r\n | get_iter_log_split(self)\r\n | \r\n | get_iter_nested(self)\r\n | \r\n | get_iter_nested_for_loop(self)\r\n | \r\n | get_iter_nested_for_loop_enumerated(self)\r\n | \r\n | get_iter_nested_one_ahead(self)\r\n | \r\n | get_iter_nested_with_path(self)\r\n | \r\n | get_iter_random_values_from_iter_endless(self)\r\n | \r\n | get_iter_reverse_lists_of_list(self)\r\n | \r\n | get_iter_rotate_left(self, n, onlyfinal=False)\r\n | \r\n | get_iter_rotate_right(self, n, onlyfinal=False)\r\n | \r\n | get_iter_stop_when_next_item_is_duplicate(self)\r\n | https://github.com/joelgrus/stupid-itertools-tricks-pydata/blob/master/src/stupid_tricks.py\r\n | \r\n | get_iter_transposed_list_of_lists(self)\r\n | \r\n | get_iter_windowed(self, n)\r\n | \r\n | get_iter_windowed_distance(self, fillvalue=None, distance=1)\r\n | \r\n | get_levenshtein_distance(self, strings)\r\n | \r\n | get_normalized_list_of_lists(self, fillv=None)\r\n | \r\n | get_random_not_repeating_values(self, howmany)\r\n | \r\n | get_random_values_with_max_rep(self, howmany, maxrep)\r\n | \r\n | get_shuffle_copied_list(self)\r\n | \r\n | group_by(self, func, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | group_coordinates_by_distance(self, coordlist, limit_x, limit_y, continue_on_exceptions=True)\r\n | \r\n | group_intersections(self, keep_duplicates=False)\r\n | \r\n | group_sequences(self, fu)\r\n | \r\n | group_values_in_flattened_nested_iter_and_count(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_almost_equal(self, value, equallimit, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_bigger_than(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_bigger_than_or_equal(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_can_be_divided_by(self, div, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_ceil(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_coords_almost_equal(self, x_coord, y_coord, limit_x, limit_y, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_decoding_result(self, mode='strict', continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_division_remainder(self, div, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_divisor(self, div, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_element_pos(self, pos, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_endswith(self, n, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_equal(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_euclid_dist(self, coord, mindistance=0, maxdistance=500, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_even_odd(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_file_extension(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_files_folder_link(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_first_item(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_first_occurrence_in_string(self, char, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_floor(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_frequency(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_is_integer(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isalnum(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isalpha(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isascii(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isdecimal(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isdigit(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isidentifier(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isin(self, value, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isiter(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_islower(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isna(self, emptyiters: bool = False, nastrings: bool = False, emptystrings: bool = False, emptybytes: bool = False, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isnumeric(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isprintable(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isspace(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_istitle(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_isupper(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_last_occurrence_in_string(self, char, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_less_than(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_less_than_or_equal(self, number, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_literal_eval_type(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_percentage(self, percent_true, group1=True, group2=False, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_regular_expression_matches(self, regexpressions, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_round(self, n, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_startswith(self, n, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_string_length(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_substring(self, substrings, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_sum(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_sys_size(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_type(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_valid_url(self, continue_on_exceptions=True, withindex=False, withvalue=True)\r\n | \r\n | groupby_words_in_texts(self, wordlist, case_sen=False, continue_on_exceptions=True, withindex=False, boundary_right=True, boundary_left=True, withvalue=True)\r\n | \r\n | index_all(self, n)\r\n | \r\n | insert(self, index, value) -> None\r\n | Insert object before index.\r\n | \r\n | list_of_tuples_to_family_tree(self, main_mapping_keys=(), bi_rl_lr='bi')\r\n | \r\n | number_of_combinations(self, k)\r\n | from https://stackoverflow.com/a/48612518/15096247\r\n | Number of combinations of length *k* of the elements of *it*.\r\n | \r\n | popleft(self)\r\n | \r\n | remove_duplicates(self)\r\n | \r\n | repeat_items(self, reps)\r\n | \r\n | reshape(self, how)\r\n | \r\n | search(self, value)\r\n | \r\n | shape_repeat(self, shape)\r\n | \r\n | sorted(self, func, reverse=False)\r\n | \r\n | split_by_indices(self, indices)\r\n | \r\n | to_nested_dict(self)\r\n \r\n \r\nimport math\r\nimport random\r\nimport sys\r\n\r\nfrom mehrlist import NestedList\r\n\r\nli = NestedList(\r\n [\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n [[1, 2], [3, 4]],\r\n ],\r\n maxsize=30,\r\n)\r\nli.convert_all_to_nested_list()\r\nli.to_nested_dict()\r\n#\r\n# Out[3]:\r\n# {0: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 1: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 2: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 3: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 4: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 5: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 6: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 7: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 8: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 9: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 10: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}},\r\n# 11: {0: {0: 1, 1: 2}, 1: {0: 3, 1: 4}}}\r\nli.flatten()\r\n# Out[4]: [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]\r\nli.flatten_with_index()\r\n# Out[5]:\r\n# [((0, 0, 0), 1), ((0, 0, 1), 2), ((0, 1, 0), 3), ((0, 1, 1), 4), ((1, 0, 0), 1), ((1, 0, 1), 2), ((1, 1, 0), 3), ((1, 1, 1), 4), ((2, 0, 0), 1), ((2, 0, 1), 2),\r\n# ((2, 1, 0), 3), ((2, 1, 1), 4), ((3, 0, 0), 1), ((3, 0, 1), 2), ((3, 1, 0), 3), ((3, 1, 1), 4), ((4, 0, 0), 1), ((4, 0, 1), 2), ((4, 1, 0), 3), ((4, 1, 1), 4),\r\n# ((5, 0, 0), 1), ((5, 0, 1), 2), ((5, 1, 0), 3), ((5, 1, 1), 4), ((6, 0, 0), 1), ((6, 0, 1), 2), ((6, 1, 0), 3), ((6, 1, 1), 4), ((7, 0, 0), 1), ((7, 0, 1), 2),\r\n# ((7, 1, 0), 3), ((7, 1, 1), 4), ((8, 0, 0), 1), ((8, 0, 1), 2), ((8, 1, 0), 3), ((8, 1, 1), 4), ((9, 0, 0), 1), ((9, 0, 1), 2), ((9, 1, 0), 3), ((9, 1, 1), 4),\r\n# ((10, 0, 0), 1), ((10, 0, 1), 2), ((10, 1, 0), 3), ((10, 1, 1), 4), ((11, 0, 0), 1), ((11, 0, 1), 2), ((11, 1, 0), 3), ((11, 1, 1), 4)]\r\nli.remove_duplicates()\r\n# Out[6]: [[[1, 2], [3, 4]]]\r\nli.sorted(len)\r\n# Out[7]:\r\n# [[[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3,\r\n# 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]], [[1, 2], [3, 4]]]\r\ntry:\r\n n = NestedList(1)\r\nexcept TypeError:\r\n n = NestedList(1, convert_all=True)\r\nprint(n)\r\nl = NestedList(range(50))\r\nl.split_by_indices([2, 24, 48])\r\n# [[0, 1], [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,\r\n# 41, 42, 43, 44, 45, 46, 47], [48, 49]]\r\nlist(l.get_iter_every_nth_element(9))\r\n# Out[8]: [0, 9, 18, 27, 36, 45]\r\nl.repeat_items(5)\r\n# [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, ...]\r\nlist(l.get_iter_windowed(n=4))\r\n# Out[12]:\r\n# [(0, 1, 2, 3),\r\n# (1, 2, 3, 4),\r\n# (2, 3, 4, 5),\r\n# (3, 4, 5, 6),\r\nlist(l.get_iter_batch(3))\r\n# Out[14]:\r\n# [[0, 1, 2],\r\n# [3, 4, 5],\r\n# [6, 7, 8],\r\n# [9, 10, 11],\r\n\r\nlist(li.get_iter_nested_for_loop())[:2]\r\n# Out[19]:\r\n# [([1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2]),\r\n# ([1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [3, 4])]\r\n\r\n\r\nlist(li.get_iter_nested_for_loop_enumerated())[:2]\r\n# Out[20]:\r\n# [(0,\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2]),\r\n# (1,\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [1, 2],\r\n# [3, 4])]\r\n\r\nlist(l.get_iter_add_one_item_each_iteration())[:5]\r\n# Out[22]: [[0], [0, 1], [0, 1, 2], [0, 1, 2, 3], [0, 1, 2, 3, 4]]\r\n\r\n\r\nlist(l.get_iter_add_one_item_each_iteration_reverse())[:5]\r\n# Out[23]: [[49], [48, 49], [47, 48, 49], [46, 47, 48, 49], [45, 46, 47, 48, 49]]\r\n\r\nl2 = NestedList(\r\n [\r\n [1, 2, 3],\r\n [4, 5, 6],\r\n [7, 8, 9],\r\n [10, 11, 12],\r\n [13, 14, 15],\r\n [16, 17, 18],\r\n [19, 20, 21],\r\n ]\r\n)\r\nl3 = NestedList(\r\n [\r\n [[1, 2, 3], [4, 5, 6]],\r\n [[7, 8, 9], [10, 11, 12]],\r\n [[13, 14, 15], [16, 17, 18], [19, 20, 21]],\r\n ]\r\n)\r\n\r\nlist(l3.get_iter_nested())\r\n# Out[3]:\r\n# [[[[1, 2, 3], [4, 5, 6]], [1, 2, 3], 1],\r\n# [[[1, 2, 3], [4, 5, 6]], [1, 2, 3], 2],\r\n# [[[1, 2, 3], [4, 5, 6]], [1, 2, 3], 3],\r\n# [[[1, 2, 3], [4, 5, 6]], [4, 5, 6], 4],\r\n# [[[1, 2, 3], [4, 5, 6]], [4, 5, 6], 5],\r\n# [[[1, 2, 3], [4, 5, 6]], [4, 5, 6], 6],\r\n# [[[7, 8, 9], [10, 11, 12]], [7, 8, 9], 7],\r\n# [[[7, 8, 9], [10, 11, 12]], [7, 8, 9], 8],\r\n# [[[7, 8, 9], [10, 11, 12]], [7, 8, 9], 9],\r\n# [[[7, 8, 9], [10, 11, 12]], [10, 11, 12], 10],\r\n# [[[7, 8, 9], [10, 11, 12]], [10, 11, 12], 11],\r\n# [[[7, 8, 9], [10, 11, 12]], [10, 11, 12], 12],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [13, 14, 15], 13],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [13, 14, 15], 14],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [13, 14, 15], 15],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [16, 17, 18], 16],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [16, 17, 18], 17],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [16, 17, 18], 18],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [19, 20, 21], 19],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [19, 20, 21], 20],\r\n# [[[13, 14, 15], [16, 17, 18], [19, 20, 21]], [19, 20, 21], 21]]\r\n\r\nlist(l3.get_iter_nested_with_path())\r\n# Out[3]:\r\n# [[((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 0), [1, 2, 3]), ((0, 0, 0), 1)],\r\n# [((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 0), [1, 2, 3]), ((0, 0, 1), 2)],\r\n# [((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 0), [1, 2, 3]), ((0, 0, 2), 3)],\r\n# [((0,), [[1, 2, 3], [4, 5, 6]]), ((0, 1), [4, 5, 6]), ((0, 1, 0), 4)],\r\n\r\nl4 = NestedList([[1, 2, 3, 4], [5, 1, 2, 3, 4], [55, 55, 1, 2, 3, 4]])\r\nlist(l4.get_iter_find_same_ending_elements())\r\n# Out[4]: [1, 2, 3, 4]\r\nl5 = NestedList([\"ababa\", \"abacxxx\", \"abdd\"])\r\nlist(l5.get_iter_find_same_beginning_elements())\r\n# ['a', 'b']\r\n\r\n\r\nl.reshape([20, [25], {1}, ((1,), 3)])\r\n# Out[11]:\r\n# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,\r\n# 42, 43, 44], {45}, ((46,), 47, 48, 49)]\r\n\r\n\r\nlist(l4.get_iter_rotate_left(3))\r\n# Out[14]:\r\n# [['abacxxx', 'abdd', 'ababa'],\r\n# ['abdd', 'ababa', 'abacxxx'],\r\n# ['ababa', 'abacxxx', 'abdd']]\r\n\r\nlist(l4.get_iter_rotate_right(3))\r\n# Out[15]:\r\n# [['abdd', 'ababa', 'abacxxx'],\r\n# ['abacxxx', 'abdd', 'ababa'],\r\n# ['ababa', 'abacxxx', 'abdd']]\r\n\r\n\r\nl4.shape_repeat((3, 4))\r\n\r\n# Out[17]:\r\n# [[['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd']], [['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd'],\r\n# ['ababa', 'abacxxx', 'abdd']], [['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd']], [['ababa', 'abacxxx', 'abdd'],\r\n# ['ababa', 'abacxxx', 'abdd'], ['ababa', 'abacxxx', 'abdd']]]\r\n\r\n\r\nlist(l2.get_iter_enumerated_unpacked())\r\n# Out[19]:\r\n# [(0, 1, 4, 7, 10, 13, 16, 19),\r\n# (1, 2, 5, 8, 11, 14, 17, 20),\r\n# (2, 3, 6, 9, 12, 15, 18, 21)]\r\n\r\n\r\nlist(l2.get_iter_cycle_shortest(range(10)))\r\n# Out[21]:\r\n# [([1, 2, 3], 0),\r\n# ([4, 5, 6], 1),\r\n# ([7, 8, 9], 2),\r\n# ([10, 11, 12], 3),\r\n# ([13, 14, 15], 4),\r\n# ([16, 17, 18], 5),\r\n# ([19, 20, 21], 6),\r\n# ([1, 2, 3], 7),\r\n# ([4, 5, 6], 8),\r\n# ([7, 8, 9], 9)]\r\n\r\nlist(l2.get_iter_reverse_lists_of_list())\r\n# Out[3]:\r\n# [[3, 2, 1],\r\n# [6, 5, 4],\r\n# [9, 8, 7],\r\n# [12, 11, 10],\r\n# [15, 14, 13],\r\n# [18, 17, 16],\r\n# [21, 20, 19]]\r\n\r\nl6 = NestedList([1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 0])\r\nlist(l6.get_iter_stop_when_next_item_is_duplicate())\r\n# Out[4]: [1, 2, 3, 4, 5, 6, 7, 8]\r\n\r\n\r\nlist(l4.get_iter_nested_one_ahead())\r\n# Out[8]:\r\n# [[[[1, 2, 3, 4], 1], [[1, 2, 3, 4], 2]],\r\n# [[[1, 2, 3, 4], 2], [[1, 2, 3, 4], 3]],\r\n# [[[1, 2, 3, 4], 3], [[1, 2, 3, 4], 4]],\r\n# [[[1, 2, 3, 4], 4], [[5, 1, 2, 3, 4], 5]],\r\n# [[[5, 1, 2, 3, 4], 5], [[5, 1, 2, 3, 4], 1]],\r\n# [[[5, 1, 2, 3, 4], 1], [[5, 1, 2, 3, 4], 2]],\r\n# [[[5, 1, 2, 3, 4], 2], [[5, 1, 2, 3, 4], 3]],\r\n# [[[5, 1, 2, 3, 4], 3], [[5, 1, 2, 3, 4], 4]],\r\n# [[[5, 1, 2, 3, 4], 4], [[55, 55, 1, 2, 3, 4], 55]],\r\n# [[[55, 55, 1, 2, 3, 4], 55], [[55, 55, 1, 2, 3, 4], 55]],\r\n# [[[55, 55, 1, 2, 3, 4], 55], [[55, 55, 1, 2, 3, 4], 1]],\r\n# [[[55, 55, 1, 2, 3, 4], 1], [[55, 55, 1, 2, 3, 4], 2]],\r\n# [[[55, 55, 1, 2, 3, 4], 2], [[55, 55, 1, 2, 3, 4], 3]],\r\n# [[[55, 55, 1, 2, 3, 4], 3], [[55, 55, 1, 2, 3, 4], 4]]]\r\n\r\n\r\nl // 3\r\n# Out[3]:\r\n# [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\r\n# [16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31],\r\n# [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]]\r\n\r\nfor ini, v in enumerate(l.get_iter_random_values_from_iter_endless()):\r\n print(v)\r\n if ini == 5:\r\n break\r\n# 36\r\n# 34\r\n# 15\r\n# 23\r\n# 17\r\n# 32\r\n\r\nl9 = NestedList([\"abab\", \"cbcv\", \"banana\", \"bbb\"])\r\nl9.groupby_element_pos(1)\r\n# Out[9]: {'b': ['abab', 'cbcv', 'bbb'], 'a': ['banana']}\r\n\r\n\r\nl10 = NestedList([\"aaabbb\", \"ccbbbb\", \"ab\", \"zcvcb\", \"abbab\"])\r\nl10.groupby_substring(\"abbb\")\r\n# Out[7]: {'abbb': ['aaabbb'], '': ['ccbbbb', 'zcvcb'], 'ab': ['ab'], 'abb': ['abbab']}\r\n\r\nl11 = NestedList(\r\n [\r\n [\"abab\", \"bac\"],\r\n [\"abab\", \"bac\"],\r\n [\"abab\", \"bac\"],\r\n 1,\r\n 2,\r\n 34,\r\n {43: 33},\r\n {43: 33},\r\n ]\r\n)\r\nl11.count_all_items()\r\n# Out[11]: [(['abab', 'bac'], 3), (1, 1), (2, 1), (34, 1), ({43: 33}, 2)]\r\n\r\n\r\nl12 = NestedList([\"anton\", \"annabell\", \"anschalten\"])\r\nl12.find_common_start_string()\r\n# Out[12]: 'an'\r\n\r\n\r\nlist(l.get_iter_item_difference())\r\n# [1,\r\n# 1,\r\n# 1,\r\n# 1,\r\n# 1...\r\n\r\nl2.index_all([4, 5, 6])\r\n# Out[3]: [1]\r\nl2.index_all([1, 2, 3])\r\n# Out[4]: [0]\r\n\r\nl13 = NestedList([1, 1, 2, 34, 4, 1, 1, 2, 34, 4, 1, 1])\r\nl13.index_all(1)\r\n# Out[6]: [0, 1, 5, 6, 10, 11]\r\n\r\n\r\nl2.popleft()\r\n# Out[5]: [1, 2, 3]\r\nl2\r\n# Out[6]: [[4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]]\r\n\r\n\r\nl2.appendleft(10)\r\nl2\r\n# Out[5]: [10, [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18], [19, 20, 21]]\r\n\r\n\r\nseq = (0, 1), (1, 1), (1, 0)\r\nl13 = NestedList(\r\n [(random.randrange(0, 2), random.randrange(0, 2)) for _ in range(3000)]\r\n)\r\nfor xz in l13.find_sequence(seq):\r\n print(xz)\r\n\r\nl13.del_items((0, 0))\r\n\r\nl.get_random_values_with_max_rep(10, 2)\r\n# Out[4]: [29, 14, 47, 35, 11, 16, 26, 42, 40, 7]\r\n\r\n\r\nl.get_random_not_repeating_values(10)\r\n# Out[5]: [33, 37, 20, 14, 47, 17, 44, 2, 46, 32]\r\n\r\n\r\nfor key, item in (\r\n NestedList([[1, 2, 3, 4], [2, 3, 6]])\r\n .get_cycle_list_until_every_list_fits(\r\n maxresults=4,\r\n append=True,\r\n )\r\n .items()\r\n):\r\n print(key, item)\r\n# 12 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})\r\n# 24 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})\r\n# 36 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})\r\n# 48 defaultdict(<class 'list'>, {0: [[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]], 1: [[2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6], [2, 3, 6]]})\r\n\r\nl2.group_by(lambda x: isinstance(x, int))\r\n# Out[6]:\r\n# {True: [10],\r\n# False: [[4, 5, 6],\r\n# [7, 8, 9],\r\n# [10, 11, 12],\r\n# [13, 14, 15],\r\n# [16, 17, 18],\r\n# [19, 20, 21]]}\r\n\r\n\r\nl.number_of_combinations(4)\r\n# Out[10]: 230300\r\n\r\n\r\nl3.flatten_and_group_by(lambda x: x > 10)\r\n# Out[13]:\r\n# {False: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\r\n# True: [11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]}\r\n\r\nl3.get_normalized_list_of_lists()\r\n# Out[3]:\r\n# [[[1, 2, 3], [4, 5, 6], None],\r\n# [[7, 8, 9], [10, 11, 12], None],\r\n# [[13, 14, 15], [16, 17, 18], [19, 20, 21]]]\r\n\r\nlist(l2[1:].get_iter_transposed_list_of_lists())\r\n# Out[3]: [[4, 7, 10, 13, 16, 19], [5, 8, 11, 14, 17, 20], [6, 9, 12, 15, 18, 21]]\r\n\r\n\r\nshu = l2.get_shuffle_copied_list()\r\nprint(shu)\r\n\r\nfor i, q in enumerate(\r\n l.get_iter_call_function_over_and_over_with_new_value(lambda x: [y * 2 for y in x])\r\n):\r\n if i == 3:\r\n break\r\n print(q)\r\n# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,\r\n# 42, 43, 44, 45, 46, 47, 48, 49]\r\n# [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]\r\n# [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196]\r\n\r\n\r\nlist(l[:10].get_iter_windowed_distance(fillvalue=None, distance=3))\r\n# Out[9]:\r\n# [(None, 0, 3),\r\n# (None, 1, 4),\r\n# (None, 2, 5),\r\n# (0, 3, 6),\r\n# (1, 4, 7),\r\n# (2, 5, 8),\r\n# (3, 6, 9),\r\n# (4, 7, None),\r\n# (5, 8, None),\r\n# (6, 9, None)]\r\n\r\nlist(l[:10].get_iter_2_cycle_second_until_first_done(range(3)))\r\n# Out[11]:\r\n# [(0, 0),\r\n# (1, 1),\r\n# (2, 2),\r\n# (3, 0),\r\n# (4, 1),\r\n# (5, 2),\r\n# (6, 0),\r\n# (7, 1),\r\n# (8, 2),\r\n# (9, 0)]\r\n\r\n\r\nNestedList(\r\n [\r\n (\"Maria\", \"Anna\"),\r\n (\"Anna\", \"Joao\"),\r\n (\"Kasimir\", \"Maria\"),\r\n (\"Hans\", \"Fritz\"),\r\n (\"Fritz\", \"Anna\"),\r\n (\"G\u00fcnther\", \"Wolfgang\"),\r\n (\"Joao\", \"Wolfgang\"),\r\n ]\r\n).list_of_tuples_to_family_tree(main_mapping_keys=(\"Wolfgang\",), bi_rl_lr=\"rl\")\r\n\r\n# ([(1, ('Wolfgang', 'G\u00fcnther')),\r\n# (2, ('Wolfgang', 'Joao', 'Anna', 'Maria', 'Kasimir')),\r\n# (3, ('Wolfgang', 'Joao', 'Anna', 'Fritz', 'Hans'))],\r\n# {'Wolfgang': {'G\u00fcnther': 1,\r\n# 'Joao': {'Anna': {'Maria': {'Kasimir': 2}, 'Fritz': {'Hans': 3}}}}})\r\n\r\n\r\nNestedList([\"ababa\", \"bubax\", \"ali bbaba\"]).get_levenshtein_distance(\"ali baba\")\r\n# Out[3]: [[(1, 2, 'ali bbaba', 'ali baba'), (3, 0, 'ababa', 'ali baba'), (6, 1, 'bubax', 'ali baba')]]\r\n\r\n\r\nNestedList(\r\n [\r\n [[(\"Maria\", \"Anna\"), (\"Anna\", \"Joao\")]],\r\n {(\"Kasimir\", \"Maria\"), (\"Hans\", \"Fritz\")},\r\n (\"Fritz\", \"Anna\"),\r\n {\"G\u00fcnther\": \"Wolfgang\"},\r\n (\"Joao\", \"Wolfgang\"),\r\n ]\r\n).flatten_level(n=None, dict_treatment=\"items\", consider_non_iter=(str, bytes, dict))\r\n# Out[5]:\r\n# ['Maria',\r\n# 'Anna',\r\n# 'Anna',\r\n# 'Joao',\r\n# 'Kasimir',\r\n# 'Maria',\r\n# 'Hans',\r\n# 'Fritz',\r\n# 'Fritz',\r\n# 'Anna',\r\n# {'G\u00fcnther': 'Wolfgang'},\r\n# 'Joao',\r\n# 'Wolfgang']\r\n\r\nprint(l.group_sequences(fu=lambda a, b: b > a)[0])\r\np = NestedList([\"a\", \"aa\", \"b\", \"bbb\", \"c\", \"d\", \"dd\", \"ddd\", \"vbvdddd\"])\r\n\r\nprint(p.group_sequences(fu=lambda a, b: a in b))\r\n# [['a', 'aa'], ['b', 'bbb'], ['c'], ['d', 'dd', 'ddd', 'vbvdddd']]\r\n\r\nk = NestedList([random.randint(0, 5) for x in range(20)])\r\nprint(k.group_sequences(lambda a, b: b >= a))\r\n# [3, 1, 3, 5, 3, 4, 4, 3, 4, 3, 4, 4, 5, 1, 3, 2, 3, 1, 1, 3]\r\n# [[3], [1, 3, 5], [3, 4, 4], [3, 4], [3, 4, 4, 5], [1, 3], [2, 3], [1, 1, 3]]\r\n\r\n\r\no = NestedList(\r\n [(1, 2), (3, 4), (501, 641), (300, 4500), (1, 4344)]\r\n).groupby_euclid_dist(\r\n coord=(0, 0),\r\n mindistance=0,\r\n maxdistance=500,\r\n)\r\n# Out[6]: {True: [(1, 2), (3, 4)], False: [(501, 641), (300, 4500), (1, 4344)]}\r\n\r\n\r\nNestedList([\"a\", \"bbb\", \"b\", \"ddd\", \"444444\"]).groupby_string_length()\r\n# Out[3]: {1: ['a', 'b'], 3: ['bbb', 'ddd'], 6: ['444444']}\r\n\r\n\r\nNestedList(\r\n [\"a\", \"bbb\", \"b\", \"ddd\", \"444444\", [1, [1, 1, 1, 1, 1, 1, [1]]]]\r\n).group_values_in_flattened_nested_iter_and_count()\r\n# Out[4]: {'a': 1, 'bbb': 1, 'b': 1, 'ddd': 1, '444444': 1, 1: 8}\r\n\r\n\r\nNestedList(\r\n [\"a\", \"bbb\", \"b\", \"ddd\", \"444444\", [1, [1, 1, 1, 1, 1, 1, [1]]]]\r\n).groupby_type()\r\n# Out[5]: {str: ['a', 'bbb', 'b', 'ddd', '444444'], list: [[1, [1, 1, 1, 1, 1, 1, [1]]]]}\r\n\r\n\r\nNestedList(\r\n [\"a\", \"bbb\", \"b\", \"ddd\", \"444444\", \"a\", \"a\", \"ddd\", [1, [1, 1, 1, 1, 1, 1, [1]]]]\r\n).groupby_frequency()\r\n# Out[6]:\r\n# {3: ['a', 'a', 'a'],\r\n# 1: ['bbb', 'b', '444444', [1, [1, 1, 1, 1, 1, 1, [1]]]],\r\n# 2: ['ddd', 'ddd']}\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_can_be_divided_by(2)\r\n# Out[7]: {True: [4, 2, 2, 2344, 444, 222, 8, 0], False: [7, 7, 9, 7, 65, 45]}\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_division_remainder(2)\r\n# Out[8]: {0: [4, 2, 2, 2344, 444, 222, 8, 0], 1: [7, 7, 9, 7, 65, 45]}\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_divisor(2)\r\n# Out[9]:\r\n# {2: [4],\r\n# 1: [2, 2],\r\n# 1172: [2344],\r\n# 222: [444],\r\n# 111: [222],\r\n# 3: [7, 7, 7],\r\n# 4: [8, 9],\r\n# 0: [0],\r\n# 32: [65],\r\n# 22: [45]}\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_bigger_than_or_equal(100)\r\n# Out[10]: {False: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], True: [2344, 444, 222]}\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_less_than_or_equal(100)\r\n# Out[11]: {True: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], False: [2344, 444, 222]}\r\n\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_bigger_than(100)\r\n# Out[12]: {False: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], True: [2344, 444, 222]}\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_less_than(100)\r\n# Out[13]: {True: [4, 2, 2, 7, 7, 8, 9, 0, 7, 65, 45], False: [2344, 444, 222]}\r\n\r\nNestedList(\r\n [\r\n 4,\r\n 2,\r\n 2,\r\n 2344,\r\n 444,\r\n 222,\r\n 7,\r\n 7,\r\n 8,\r\n 9,\r\n 0,\r\n 7,\r\n 65,\r\n 45,\r\n ]\r\n).groupby_equal(7)\r\n# Out[14]: {False: [4, 2, 2, 2344, 444, 222, 8, 9, 0, 65, 45], True: [7, 7, 7]}\r\n\r\nNestedList(\r\n [\"1342423\", \"ddd\", \"33333\", \"ixxx\", \"00\"]\r\n).groupby_regular_expression_matches(r\"\\d+\")\r\n# Out[15]: {True: ['1342423', '33333', '00'], False: ['ddd', 'ixxx']}\r\n\r\nNestedList([2.0, 1, 1, 3, 5, 3.0, 3.4, 2.4, 25.3]).groupby_is_integer()\r\n# Out[17]: {True: [2.0, 1, 1, 3, 5, 3.0], False: [3.4, 2.4, 25.3]}\r\n\r\nNestedList(\r\n [1.0, 1.1, 1.2, 1.3, 1.9, 1.8, 2.0, 1, 1, 3, 5, 3.0, 3.4, 2.4, 25.3]\r\n).groupby_floor()\r\n# Out[18]:\r\n# {1: [1.0, 1.1, 1.2, 1.3, 1.9, 1.8, 1, 1],\r\n# 2: [2.0, 2.4],\r\n# 3: [3, 3.0, 3.4],\r\n# 5: [5],\r\n# 25: [25.3]}\r\nNestedList(\r\n [1.0, 1.1, 1.2, 1.3, 1.9, 1.8, 2.0, 1, 1, 3, 5, 3.0, 3.4, 2.4, 25.3]\r\n).groupby_ceil()\r\n# Out[19]:\r\n# {1: [1.0, 1, 1],\r\n# 2: [1.1, 1.2, 1.3, 1.9, 1.8, 2.0],\r\n# 3: [3, 3.0, 2.4],\r\n# 5: [5],\r\n# 4: [3.4],\r\n# 26: [25.3]}\r\n\r\nseq = [\r\n 1.11111111,\r\n 1.111222222,\r\n 1.11113334,\r\n 1.3,\r\n 1.9,\r\n 1.8,\r\n 2.0,\r\n 1,\r\n 1,\r\n 3,\r\n 5,\r\n 3.0,\r\n 3.4,\r\n 2.4,\r\n 25.3,\r\n]\r\nNestedList(seq).groupby_round(n=2)\r\n# Out[21]:\r\n# {1.11: [1.11111111, 1.111222222, 1.11113334],\r\n# 1.3: [1.3],\r\n# 1.9: [1.9],\r\n# 1.8: [1.8],\r\n# 2.0: [2.0],\r\n# 1: [1, 1],\r\n# 3: [3, 3.0],\r\n# 5: [5],\r\n# 3.4: [3.4],\r\n# 2.4: [2.4],\r\n# 25.3: [25.3]}\r\n\r\nseq = [\"hallo\", \"boot\", \"baba\", \"bdoo\", \"flaot\", \"mama\"]\r\nNestedList(seq).groupby_endswith(n=1)\r\n# Out[22]: {'o': ['hallo', 'bdoo'], 't': ['boot', 'flaot'], 'a': ['baba', 'mama']}\r\n\r\n\r\nNestedList(seq).groupby_startswith(n=1)\r\n# Out[23]: {'h': ['hallo', 'hmama'], 'b': ['boot', 'baba', 'bdoo'], 'f': ['flaot']}\r\n\r\n\r\nNestedList(seq).groupby_first_occurrence_in_string(char=\"a\")\r\n# Out[25]: {1: ['hallo', 'baba'], -1: ['boot', 'bdoo'], 2: ['flaot', 'hmama']}\r\n\r\nNestedList(seq).groupby_last_occurrence_in_string(char=\"a\")\r\n# Out[26]: {1: ['hallo'], -1: ['boot', 'bdoo'], 3: ['baba'], 2: ['flaot'], 4: ['hmama']}\r\n\r\nNestedList(seq).groupby_isalnum()\r\n# Out[28]: {True: ['One', '222'], False: ['%', '#']}\r\n\r\nNestedList(seq).groupby_isalpha()\r\n# Out[29]: {True: ['One'], False: ['%', '#', '222']}\r\n\r\nNestedList(seq).groupby_isascii()\r\n# Out[31]: {True: ['One', '%', '#', '222'], False: ['\u00e7', '\u00df']}\r\n\r\nNestedList(seq).groupby_isdecimal()\r\n# Out[32]: {False: ['One', '%', '#', '\u00e7', '\u00df'], True: ['222']}\r\n\r\nseq = \"\"\"One % # 222 \u00e7 \u00df\"\"\".split()\r\nNestedList(seq).groupby_isdigit()\r\n# Out[33]: {False: ['One', '%', '#', '\u00e7', '\u00df'], True: ['222']}\r\n\r\nseq = \"\"\"One % # 222 \u00e7 \u00df True if bool\"\"\".split()\r\nNestedList(seq).groupby_isidentifier()\r\n# Out[35]: {True: ['One', '\u00e7', '\u00df', 'True', 'if', 'bool'], False: ['%', '#', '222']}\r\n\r\nseq = \"\"\"One % # 222 \u00e7 \u00df True if bool\"\"\".split()\r\nNestedList(seq).groupby_islower()\r\n# Out[37]: {False: ['One', '%', '#', '222', 'True'], True: ['\u00e7', '\u00df', 'if', 'bool']}\r\n\r\nNestedList(seq).groupby_isnumeric()\r\n# Out[38]: {False: ['One', '%', '#', '\u00e7', '\u00df', 'True', 'if', 'bool'], True: ['222']}\r\n\r\nseq = \"\"\"One % # 222 \u00e7 \u00df True if bool\"\"\".split() + [\"\\r\"]\r\nNestedList(seq).groupby_isprintable()\r\n# Out[42]: {True: ['One', '%', '#', '222', '\u00e7', '\u00df', 'True', 'if', 'bool'], False: ['\\r']}\r\n\r\nNestedList(seq).groupby_isspace()\r\n# Out[43]: {False: ['One', '%', '#', '222', '\u00e7', '\u00df', 'True', 'if', 'bool'], True: ['\\r']}\r\n\r\nNestedList(seq).groupby_istitle()\r\n# Out[44]: {True: ['One', 'True'], False: ['%', '#', '222', '\u00e7', '\u00df', 'if', 'bool', '\\r']}\r\n\r\n\r\nseq = \"\"\"One % # 222 \u00e7 \u00df True if bool AA\"\"\".split() + [\"\\r\"]\r\nNestedList(seq).groupby_isupper()\r\n# Out[46]:\r\n# {False: ['One', '%', '#', '222', '\u00e7', '\u00df', 'True', 'if', 'bool', '\\r'],\r\n# True: ['AA']}\r\n\r\nseq = \"\"\"One % # 222 \u00e7 \u00df True if bool AA\"\"\".split()\r\nNestedList(seq).groupby_isin(\"e\")\r\n# Out[48]: {True: ['One', 'True'], False: ['%', '#', '222', '\u00e7', '\u00df', 'if', 'bool', 'AA']}\r\n\r\nseq = [\r\n (\r\n g := random.randrange(1, 200),\r\n f := random.randrange(1, 200),\r\n g + 100,\r\n f + 100,\r\n )\r\n for _ in range(10)\r\n]\r\n\r\n\r\nimport numpy as np\r\nimport pandas as pd\r\n\r\nseq = [pd.NA, np.nan, None, math.nan, 3, 54, 3, (22, 34, 412), {323, 31}, [3312, 3]]\r\nNestedList(seq).groupby_isna(\r\n emptyiters=False,\r\n nastrings=False,\r\n emptystrings=False,\r\n emptybytes=False,\r\n continue_on_exceptions=True,\r\n withindex=False,\r\n withvalue=True,\r\n)\r\n# Out[4]:\r\n# {True: [<NA>, nan, None, nan],\r\n# False: [3, 54, 3, (22, 34, 412), {31, 323}, [3312, 3]]}\r\n\r\n\r\nseq = [pd.NA, np.nan, None, math.nan, 3, 54, 3, (22, 34, 412), {323, 31}, [3312, 3]]\r\nNestedList(seq).groupby_isiter()\r\n# Out[5]:\r\n# {False: [<NA>, nan, None, nan, 3, 54, 3],\r\n# True: [(22, 34, 412), {31, 323}, [3312, 3]]}\r\n\r\n\r\nimport os\r\n\r\nNestedList(os.listdir(r\"F:\\gitrep\\screenshots\")).groupby_file_extension()\r\n\r\n\r\nseq = [1, 2, 3, 45, 56, 6, 32, 12]\r\nNestedList(seq).groupby_even_odd()\r\n# Out[7]: {'odd': [1, 3, 45], 'even': [2, 56, 6, 32, 12]}\r\n\r\nseq = [\r\n os.path.join(r\"F:\\gitrep\\screenshots\", x)\r\n for x in os.listdir(r\"F:\\gitrep\\screenshots\")\r\n]\r\n\r\nNestedList(seq).groupby_files_folder_link()\r\n\r\nseq = [\r\n [\r\n 1,\r\n 2,\r\n 34,\r\n ],\r\n (1, 32, 4),\r\n (2, 3, 4, 54),\r\n [2, 3, 3],\r\n]\r\nNestedList(seq).groupby_first_item()\r\n# Out[11]: {1: [[1, 2, 34], (1, 32, 4)], 2: [(2, 3, 4, 54), [2, 3, 3]]}\r\n\r\n\r\nNestedList(\r\n [\"autobahn\", \"computerproblem\", \"kind\", \"opa\", \"kind opa\"]\r\n).groupby_words_in_texts(\r\n wordlist=[\"kind\", \"opa\"],\r\n case_sen=False,\r\n continue_on_exceptions=True,\r\n withindex=False,\r\n boundary_right=True,\r\n boundary_left=True,\r\n)\r\n# Out[4]:\r\n# {(): ['autobahn', 'computerproblem'],\r\n# ('kind',): ['kind'],\r\n# ('opa',): ['opa'],\r\n# ('kind', 'opa'): ['kind opa']}\r\n\r\n\r\nseq = [[1, 2, 2], [5], [2, 3], [4, 4, 4], [12, 0], [6, 6], [1, 2]]\r\nNestedList(seq).groupby_sum()\r\n# Out[5]: {5: [[1, 2, 2], [5], [2, 3]], 12: [[4, 4, 4], [12, 0], [6, 6]], 3: [[1, 2]]}\r\n\r\nseq = [\"https://www.google.com\", \"google.com/\", \"bababa\", \"http://baba.de\"]\r\nNestedList(seq).groupby_valid_url()\r\n# Out[6]:\r\n# {'valid': ['https://www.google.com', 'http://baba.de'],\r\n# 'not_valid': ['google.com/', 'bababa']}\r\n\r\n\r\nseq = [\"11\", \"bb\", '\"bb\"']\r\nNestedList(seq).groupby_literal_eval_type()\r\n# Out[7]:\r\n# {int: ['11'],\r\n# 'EXCEPTION: malformed node or string on line 1: <ast.Name object at 0x000001BE3C6AC0A0>': ['bb'],\r\n# str: ['\"bb\"']}\r\n\r\n\r\nseq = [b\"\\\\U0001D11E\", b\"baba\"]\r\nNestedList(seq).groupby_decoding_result()\r\n\r\n\r\nseq = 2 * [1, 2, 34, 4, 2, 3, 54, 6, 6, 4, 3, 2, 21, 45, 56]\r\nNestedList(seq).groupby_percentage(percent_true=63.7)\r\n# Out[4]:\r\n# {True: [1, 34, 2, 3, 54, 6, 2, 21, 45, 56, 1, 34, 4, 2, 3, 6, 4, 3, 2, 45, 56],\r\n# False: [2, 4, 6, 4, 3, 2, 54, 6, 21]}\r\n\r\n\r\nseq = [11, 200, 34, 4, 52, 63, 54, 65, 67, 48, 3, 2, 21, 55, 56, 59, 61, 60]\r\nNestedList(seq).groupby_almost_equal(value=60, equallimit=3)\r\n# Out[6]:\r\n# {False: [11, 200, 34, 4, 52, 54, 65, 67, 48, 3, 2, 21, 55, 56],\r\n# True: [63, 59, 61, 60]}\r\n\r\nseq = 2 * [(1, 2), (34, 4), (2, 3), (61, 60)]\r\nNestedList(seq).groupby_coords_almost_equal(\r\n x_coord=4,\r\n y_coord=3,\r\n limit_x=5,\r\n limit_y=1,\r\n)\r\n# Out[7]:\r\n# {(True, True): [(1, 2), (2, 3), (1, 2), (2, 3)],\r\n# (False, True): [(34, 4), (34, 4)],\r\n# (False, False): [(61, 60), (61, 60)]}\r\n\r\n\r\ncoordlist = [\r\n (745, 519),\r\n (747, 522),\r\n (747, 517),\r\n (747, 517),\r\n (750, 522),\r\n (756, 449),\r\n (757, 461),\r\n (757, 461),\r\n (757, 438),\r\n (830, 144),\r\n (759, 435),\r\n (759, 435),\r\n (761, 468),\r\n (761, 468),\r\n (764, 521),\r\n (1079, 199),\r\n (770, 474),\r\n (770, 425),\r\n (773, 516),\r\n (776, 515),\r\n (776, 515),\r\n (778, 520),\r\n (779, 519),\r\n (780, 420),\r\n (780, 420),\r\n (782, 478),\r\n (782, 478),\r\n (1083, 151),\r\n (1083, 151),\r\n (1083, 151),\r\n (1083, 151),\r\n (784, 478),\r\n (759, 435),\r\n (784, 478),\r\n (819, 137),\r\n (819, 137),\r\n (819, 137),\r\n (797, 524),\r\n (825, 125),\r\n (826, 149),\r\n (800, 446),\r\n (800, 446),\r\n (801, 517),\r\n (801, 517),\r\n (802, 520),\r\n (802, 520),\r\n (804, 519),\r\n (804, 519),\r\n (808, 431),\r\n (808, 431),\r\n (809, 464),\r\n (809, 464),\r\n (812, 438),\r\n (813, 449),\r\n]\r\nxx = NestedList(coordlist).group_coordinates_by_distance(\r\n coordlist, limit_x=10, limit_y=10, continue_on_exceptions=True\r\n)\r\nfor x in xx:\r\n print(x)\r\n#\r\n# ((813, 449),)\r\n# ((779, 519), (773, 516), (776, 515), (778, 520), (764, 521))\r\n# ((808, 431), (812, 438))\r\n# ((1083, 151),)\r\n# ((830, 144), (826, 149))\r\n# ((761, 468), (757, 461), (770, 474))\r\n# ((825, 125),)\r\n# ((756, 449),)\r\n# ((745, 519), (747, 517), (750, 522), (747, 522))\r\n# ((780, 420), (770, 425))\r\n# ((784, 478), (782, 478))\r\n# ((804, 519), (802, 520), (797, 524), (801, 517))\r\n# ((757, 438), (759, 435))\r\n# ((819, 137),)\r\n# ((809, 464),)\r\n# ((800, 446),)\r\n# ((1079, 199),)\r\n\r\n\r\nseq = sorted(list(range(0, 5)) * 3)\r\nprint(NestedList(seq).bisect_rightmost_value_equal_to(4))\r\nprint(NestedList(seq).bisect_rightmost_value_equal_to(0))\r\nprint(NestedList(seq).bisect_rightmost_value_equal_to(1))\r\nprint(NestedList(seq).bisect_leftmost_value_equal_to(4))\r\nprint(NestedList(seq).bisect_leftmost_value_equal_to(0))\r\nprint(NestedList(seq).bisect_leftmost_value_equal_to(1))\r\nprint(NestedList(seq).bisect_rightmost_value_less_than(4))\r\nprint(NestedList(seq).bisect_rightmost_value_less_than(2))\r\nprint(NestedList(seq).bisect_rightmost_value_less_than(1))\r\nprint(NestedList(seq).bisect_rightmost_value_less_than_or_equal(40))\r\nprint(NestedList(seq).bisect_rightmost_value_less_than_or_equal(0))\r\nprint(NestedList(seq).bisect_rightmost_value_less_than_or_equal(1))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than(2))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than(3))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than(0))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than(1))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than_or_equal(3))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than_or_equal(0))\r\nprint(NestedList(seq).bisect_leftmost_value_greater_than_or_equal(1))\r\n\r\n# 14\r\n# 2\r\n# 5\r\n# 12\r\n# 0\r\n# 3\r\n# 11\r\n# 5\r\n# 2\r\n# 14\r\n# 2\r\n# 5\r\n# 9\r\n# 12\r\n# 3\r\n# 6\r\n# 9\r\n# 0\r\n# 3\r\n\r\n\r\ncervejas = [\r\n (\"original\", 2.5),\r\n (\"Skol\", 0.5),\r\n (\"becks\", 16),\r\n (\"brahma\", 1.4),\r\n (\"heineken\", 5.5),\r\n]\r\ncats_ = [\r\n (\"barato\", 1.3),\r\n (\"mais ou menos\", 2),\r\n (\"caro\", 3.1),\r\n (\"muito caro\", 6.5),\r\n (\"absurdo\", sys.maxsize),\r\n]\r\nNestedList(cervejas).bisect_category_mapping(cats_)\r\n# Out[4]:\r\n# [(('original', 2.5), 'caro'),\r\n# (('Skol', 0.5), 'barato'),\r\n# (('becks', 16), 'absurdo'),\r\n# (('brahma', 1.4), 'mais ou menos'),\r\n# (('heineken', 5.5), 'muito caro')]\r\n\r\n\r\ntext = \"\"\"\r\nRead the running tests and linters section of our documentation to learn how to test your code. For cross-browser\r\n\"\"\".split() + [\r\n 1,\r\n 2,\r\n 3,\r\n]\r\nlist(\r\n NestedList(text).get_iter_list_ljust_rjust(\r\n ljust=None, # if None and getmax is True -> the longest str will be used\r\n ljustchr=\"-\", # fill with char\r\n rjust=None, # if None and getmax is True -> the longest str will be used\r\n rjustchr=\"-\", # fill with char\r\n getmax=True,\r\n )\r\n)\r\n# Out[5]:\r\n# ['---------Read',\r\n# '----------the',\r\n# '------running',\r\n# '--------tests',\r\n# '----------and',\r\n# '------linters',\r\n# '------section',\r\n# '-----------of',\r\n# '----------our',\r\n# 'documentation',\r\n# '-----------to',\r\n# '--------learn',\r\n# '----------how',\r\n# '-----------to',\r\n# '---------test',\r\n# '---------your',\r\n# '--------code.',\r\n# '----------For',\r\n# 'cross-browser',\r\n# '------------1',\r\n# '------------2',\r\n# '------------3']\r\n\r\nfor li in NestedList((list(range(20)))).get_iter_log_split():\r\n print(li)\r\n\r\n# [0]\r\n# [1, 2]\r\n# [3, 4, 5]\r\n# [6, 7, 8, 9]\r\n# [10, 11, 12, 13, 14]\r\n# [15, 16, 17, 18, 19]\r\n\r\n ```\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Subclass of list with more than 100 useful methods - pure Python",
"version": "0.10",
"project_urls": {
"Homepage": "https://github.com/hansalemaos/mehrlist"
},
"split_keywords": [
"nested",
"list"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f6010e6b10b51df81d1fd6ac13d9dc76bbcd0f4698e86db89031df235237f09c",
"md5": "c3e49d17dc1e8057cd44d83ca79f9c9f",
"sha256": "ae1eaa8dda8e43f2a9c7a9fcfeb5fb1a5ea8c858f2cdc96ebd9be10dfb7cade4"
},
"downloads": -1,
"filename": "mehrlist-0.10-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c3e49d17dc1e8057cd44d83ca79f9c9f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 31510,
"upload_time": "2023-07-12T01:02:51",
"upload_time_iso_8601": "2023-07-12T01:02:51.945643Z",
"url": "https://files.pythonhosted.org/packages/f6/01/0e6b10b51df81d1fd6ac13d9dc76bbcd0f4698e86db89031df235237f09c/mehrlist-0.10-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e3fd1f021bccbb848a4d8d4965fb94ede842d4237bd883d90d462e5b8ea38414",
"md5": "028cb528c23eb91c75ab8c589bd3f3f0",
"sha256": "ba7951032c165e32828f436d90bdb848a4909c4bc3727bbaba13f31c4cb9daf7"
},
"downloads": -1,
"filename": "mehrlist-0.10.tar.gz",
"has_sig": false,
"md5_digest": "028cb528c23eb91c75ab8c589bd3f3f0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 46952,
"upload_time": "2023-07-12T01:02:54",
"upload_time_iso_8601": "2023-07-12T01:02:54.713178Z",
"url": "https://files.pythonhosted.org/packages/e3/fd/1f021bccbb848a4d8d4965fb94ede842d4237bd883d90d462e5b8ea38414/mehrlist-0.10.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-12 01:02:54",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "hansalemaos",
"github_project": "mehrlist",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "bisectsearch",
"specs": []
},
{
"name": "catmapper",
"specs": []
},
{
"name": "flatten_any_dict_iterable_or_whatsoever",
"specs": []
},
{
"name": "flatten_everything",
"specs": []
},
{
"name": "intersection_grouper",
"specs": []
},
{
"name": "isiter",
"specs": []
},
{
"name": "levelflatten",
"specs": []
},
{
"name": "list2tree",
"specs": []
},
{
"name": "nested2nested",
"specs": []
},
{
"name": "screwhashesset",
"specs": []
},
{
"name": "tolerant_isinstance",
"specs": []
}
],
"lcname": "mehrlist"
}