Skip to content

Commit 36a9154

Browse files
authored
Create sequences_Sevval_Ok.py
1 parent 71f5b39 commit 36a9154

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

Week03/sequences_Sevval_Ok.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
def remove_duplicates(seq: list) -> list:
2+
seen = set()
3+
result = []
4+
5+
for item in seq:
6+
if item not in seen:
7+
seen.add(item)
8+
result.append(item)
9+
10+
return result
11+
12+
13+
def list_counts(seq: list) -> dict:
14+
counts = {}
15+
for item in seq:
16+
counts[item] = counts.get(item, 0) + 1
17+
return counts
18+
19+
20+
def reverse_dict(d: dict) -> dict:
21+
reversed_d = {}
22+
23+
for key, value in d.items():
24+
if value not in reversed_d:
25+
reversed_d[value] = key
26+
else:
27+
if isinstance(reversed_d[value], list):
28+
reversed_d[value].append(key)
29+
else:
30+
reversed_d[value] = [reversed_d[value], key]
31+
32+
return reversed_d
33+
34+
if __name__ == "__main__":
35+
print(remove_duplicates([1, 2, 1, 3, 2, 4, 4]))
36+
print(list_counts(["a", "b", "a", "c", "b", "a"]))
37+
print(reverse_dict({"x": 1, "y": 2}))
38+
print(reverse_dict({"x": 1, "y": 1, "z": 2}))

0 commit comments

Comments
 (0)