unknown 2 місяців тому
батько
коміт
b1e5b8e7e0
1 змінених файлів з 150 додано та 0 видалено
  1. 150 0
      courses/python_func/iter.py

+ 150 - 0
courses/python_func/iter.py

@@ -0,0 +1,150 @@
+from pprint import pprint
+
+"""
+map function
+Возвращает итератор
+"""
+
+def map_test():
+    a = [-1, 2, -3, 4, -5]
+    b = list(map(abs, a))
+    print(b)
+
+    # Обойти можно только один раз
+    for value in map(abs, a):
+        print(value)
+
+    
+    list_strings = ['hello', 'hi', 'good morning']
+    b = list(map(list, list_strings))
+    pprint(b)
+
+
+def increase_3(lst):
+    return tuple(map(lambda x: 3*x, lst))
+
+
+def convert_to(values, type_to=int):
+    return list(map(type_to, values))
+
+
+def get_letters(st):
+    return list((map(lambda x: (x.upper(), x.lower()), st)))
+
+
+persons = [
+    {
+        'birthday': '1983-10-25',
+        'job': 'Field seismologist',
+        'name': 'Andrew Hernandez',
+        'phone': '680-436-8521x3468'
+    },
+    {
+        'birthday': '1993-10-03',
+        'job': 'Pathologist',
+        'name': 'Paul Harmon',
+        'phone': '602.518.4130'
+    },
+    {
+        'birthday': '2002-06-11',
+        'job': 'Designer, multimedia',
+        'name': 'Gregory Flores',
+        'phone': '691-498-5303x079'
+    },
+    {
+        'birthday': '2006-11-28',
+        'job': 'Print production planner',
+        'name': 'Jodi Garcia',
+        'phone': '(471)195-7189'},
+    {
+        'birthday': '2019-12-05',
+        'job': 'Warehouse manager',
+        'name': 'Elizabeth Cannon',
+        'phone': '001-098-434-5950x276'
+    },
+    {
+        'birthday': '1984-06-12',
+        'job': 'Visual merchandiser',
+        'name': 'Troy Lucas',
+        'phone': '+1-018-070-2288x18433'
+    },
+    {
+        'birthday': '1993-09-14',
+        'job': 'International aid/development worker',
+        'name': 'Laurie Sandoval',
+        'phone': '2930693269'
+    },
+    {
+        'birthday': '1999-05-25',
+        'job': 'Editor, film/video',
+        'name': 'Jack Clark',
+        'phone': '8643048473'
+    },
+    {
+        'birthday': '1985-09-11',
+        'job': 'Magazine journalist',
+        'name': 'Kimberly Johnson',
+        'phone': '+1-583-428-7663'
+    },
+    {
+        'birthday': '1990-10-07',
+        'job': 'Museum/gallery curator',
+        'name': 'Austin Liu PhD',
+        'phone': '714-879-5250'
+    }
+]
+
+def phones(lst):
+    print(list(map(lambda x: x['phone'], lst)))
+
+
+names = [('Gerald', 'Tucker'), ('Tricia', 'Johnson'), ('Robert', 'Mendez'),
+         ('Shawn', 'Gutierrez'), ('Gary', 'Ross'), ('Melanie', 'Warren'),
+         ('Drew', 'May'), ('Jennifer', 'Carroll'), ('Ann', 'Lynn'), ('Ralph', 'Vazquez'),
+         ('Brittany', 'Erickson'), ('Mark', 'Montoya'), ('Randall', 'Hicks'),
+         ('Tyler', 'Miller'), ('Bryan', 'Brown'), ('Joshua', 'Sawyer'),
+         ('Sarah', 'Phillips'), ('Donna', 'Davenport'), ('Rebekah', 'Johnson'),
+         ('Andrew', 'Reynolds'), ('April', 'Turner'), ('Amanda', 'Ryan'), ('Jennifer', 'Poole'),
+         ('Jonathan', 'Lane'), ('Laura', 'Stone'), ('Sara', 'Brown'), ('Alexander', 'Johnson'),
+         ('Emily', 'Phillips'), ('Tyler', 'Smith'), ('Victor', 'Kelly'), ('Audrey', 'Thomas'),
+         ('Melissa', 'Green'), ('Bethany', 'Holt'), ('Christopher', 'Kerr'), ('Gabrielle', 'Black'),
+         ('Jennifer', 'Wade'), ('Douglas', 'Horton'), ('Steven', 'Welch'),
+         ('Terri', 'Thompson'), ('Cassandra', 'Nelson'), ('Andrew', 'Jones'),
+         ('James', 'Schultz'), ('Richard', 'Castillo'), ('Shaun', 'Logan'),
+         ('Danielle', 'Lane'), ('Mark', 'Anderson'), ('Charles', 'Shaw'),
+         ('Derrick', 'Grant'), ('Tracy', 'Pierce'), ('Robert', 'Washington')]
+
+def name(lst):
+    new_names = list(map(lambda x: x[0] + ' ' + x[1], lst))
+    print(new_names)
+
+
+def from_hex_to_rgb(color: str) -> tuple[int, int, int]:
+    return int(color[1:3], 16), int(color[3:5], 16), int(color[5:7], 16)
+
+
+def convert_to_rgb(values: list[str]):
+    return list(map(from_hex_to_rgb, values))
+
+
+def main():
+    # map_test()
+    # print(increase_3([16, -1, 8, 6, -5, -9, 22, 26, 7, -10]))
+
+    # numbers = [116, -411, 448, 636, -254, -295, 220, 216, 187, -150]
+    # print(convert_to(numbers, str))
+
+    # numbers = ['-383', '-101', '121', '40', '278', '118', '-462']
+    # print(convert_to(numbers))
+
+    # print(get_letters('TykPe'))
+
+    # phones(persons)
+
+    # name(names)
+
+    print(from_hex_to_rgb('#B22222'))
+
+
+if __name__ == '__main__':
+    main()