From 36a9154713d205a2da4558da7a8e8bf5c0b7b917 Mon Sep 17 00:00:00 2001 From: oksevval <119163171+oksevval@users.noreply.github.com> Date: Sun, 21 Dec 2025 10:10:22 +0300 Subject: [PATCH] Create sequences_Sevval_Ok.py --- Week03/sequences_Sevval_Ok.py | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 Week03/sequences_Sevval_Ok.py diff --git a/Week03/sequences_Sevval_Ok.py b/Week03/sequences_Sevval_Ok.py new file mode 100644 index 00000000..06151d55 --- /dev/null +++ b/Week03/sequences_Sevval_Ok.py @@ -0,0 +1,38 @@ +def remove_duplicates(seq: list) -> list: + seen = set() + result = [] + + for item in seq: + if item not in seen: + seen.add(item) + result.append(item) + + return result + + +def list_counts(seq: list) -> dict: + counts = {} + for item in seq: + counts[item] = counts.get(item, 0) + 1 + return counts + + +def reverse_dict(d: dict) -> dict: + reversed_d = {} + + for key, value in d.items(): + if value not in reversed_d: + reversed_d[value] = key + else: + if isinstance(reversed_d[value], list): + reversed_d[value].append(key) + else: + reversed_d[value] = [reversed_d[value], key] + + return reversed_d + +if __name__ == "__main__": + print(remove_duplicates([1, 2, 1, 3, 2, 4, 4])) + print(list_counts(["a", "b", "a", "c", "b", "a"])) + print(reverse_dict({"x": 1, "y": 2})) + print(reverse_dict({"x": 1, "y": 1, "z": 2}))