This shows you the differences between two versions of the page.
|
ewis:laboratoare:02 [2021/03/17 16:39] alexandru.predescu [Modules] |
ewis:laboratoare:02 [2023/03/15 17:40] (current) alexandru.predescu [Data Structures] |
||
|---|---|---|---|
| Line 24: | Line 24: | ||
| </code> | </code> | ||
| - | **T1 (2p)** Having a list of numbers, write a function to calculate the sum of all elements in the list. | + | **T1 (1p)** Having a list of numbers, write a function to calculate the sum of all elements in the list. |
| Tip: List given as input, using a for loop | Tip: List given as input, using a for loop | ||
| </note> | </note> | ||
| Line 79: | Line 79: | ||
| new_elem = elem / s | new_elem = elem / s | ||
| new_list.append(new_elem) | new_list.append(new_elem) | ||
| + | | ||
| + | # TODO: same task with list comprehension | ||
| + | | ||
| return new_list | return new_list | ||
| | | ||
| Line 85: | Line 88: | ||
| **T2.1 (1p)** Use the functions to compute the arithmetic mean, weighted arithmetic mean, variance, standard deviation and L2-norm normalization of the list | **T2.1 (1p)** Use the functions to compute the arithmetic mean, weighted arithmetic mean, variance, standard deviation and L2-norm normalization of the list | ||
| - | **T2.2 (1p)** Implement the functions using list comprehension, without using for loops | + | **T2.2 (2p)** Implement the functions using list comprehension, without using for loops |
| </note> | </note> | ||
| Line 95: | Line 98: | ||
| <note> | <note> | ||
| - | //module1.py// | + | **//module1.py//** |
| <code python> | <code python> | ||
| def hello_name(name): | def hello_name(name): | ||
| print("Hello " + name) | print("Hello " + name) | ||
| - | return | ||
| </code> | </code> | ||
| - | //main.py// | + | **//main.py//** |
| <code python> | <code python> | ||
| Line 123: | Line 125: | ||
| </code> | </code> | ||
| - | **T3 (2p)** Create two Python files (.py) as in the example. Run the program //main.py// and check the output in the console | + | **T3 (2p)** Create two Python files (.py) in the same project folder, as shown in the example. Run the program //main.py// and check the output in the console |
| </note> | </note> | ||
| Line 133: | Line 135: | ||
| === Lists === | === Lists === | ||
| - | List is one of the most frequently used and very versatile datatype used in Python. As opposed to more traditional arrays, used to store elements having the same data-type, Python lists do not have such constrain. Lists are discussed in the previous lab ([[ewis:laboratoare:01|]]), showing how to create, read, update and delete (CRUD) contained elements using basic operators. In Python, the List type also contains some useful methods: append, extend, insert, remove, pop, clear, index, count, sort, reverse, copy | + | List is one of the most frequently used and very versatile datatype used in Python. As opposed to more traditional arrays, used to store elements having the same data-type, Python lists do not have such constrain. Lists are discussed in the previous lab ([[ewis:laboratoare:01|]]), showing how to create, read, update and delete (CRUD) contained elements using basic operators. In Python, the List type also contains some useful methods: append, extend, insert, remove, pop, clear, index, count, sort, reverse, copy. |
| <note> | <note> | ||
| Line 139: | Line 141: | ||
| my_list = [1, 2, 3, 4, 5] | my_list = [1, 2, 3, 4, 5] | ||
| print(my_list) | print(my_list) | ||
| + | |||
| # add an element to the list | # add an element to the list | ||
| my_list.append(6) | my_list.append(6) | ||
| print(my_list) | print(my_list) | ||
| + | |||
| # combine lists | # combine lists | ||
| my_other_list = [7, 8, 9, 10] | my_other_list = [7, 8, 9, 10] | ||
| my_list.extend(my_other_list) | my_list.extend(my_other_list) | ||
| print(my_list) | print(my_list) | ||
| + | |||
| # sort list (descending) | # sort list (descending) | ||
| my_list.sort(reverse=True) | my_list.sort(reverse=True) | ||
| print(my_list) | print(my_list) | ||
| + | |||
| + | # check if an element is found in the list | ||
| + | # (python specific, normally used with sets or dictionaries) | ||
| + | print(1 in my_list) | ||
| + | print(10 in my_list) | ||
| </code> | </code> | ||
| </note> | </note> | ||
| Line 158: | Line 168: | ||
| <note> | <note> | ||
| - | Create, access, check membership | + | **Create, access, check membership** |
| <code python> | <code python> | ||
| Line 173: | Line 183: | ||
| </code> | </code> | ||
| - | Modify | + | **Modify** |
| <code python> | <code python> | ||
| Line 197: | Line 207: | ||
| </code> | </code> | ||
| - | Operations (set theory) | + | **Operations (set theory)** |
| <code python> | <code python> | ||
| Line 233: | Line 243: | ||
| **T4 (4p)** The set is a collection of unordered (and unique) elements. Use this to your advantage to remove duplicates from a list | **T4 (4p)** The set is a collection of unordered (and unique) elements. Use this to your advantage to remove duplicates from a list | ||
| - | Tip: | + | Hint: |
| - | *you can create a set from a list | + | *you can create a set from a list: ''s = set([1,2,3])'' |
| - | *you can create a list from a set | + | *you can create a list from a set: ''v = list({1, 2, 3})'' |
| </note> | </note> | ||
| Line 268: | Line 278: | ||
| # looping through a dictionary: | # looping through a dictionary: | ||
| for key in d: | for key in d: | ||
| - | print(key) # print only key | + | print(key) # print only key |
| - | print(key, d[key]) # print key and value d[key] | + | print(key, d[key]) # print key and value d[key] |
| Line 287: | Line 297: | ||
| else: | else: | ||
| print('not found') | print('not found') | ||
| + | |||
| + | </code> | ||
| + | |||
| + | <code python> | ||
| # counting the number of times a letter appears in a string: | # counting the number of times a letter appears in a string: | ||
| Line 311: | Line 325: | ||
| **T5 (4p - bonus)** You have a list of numbers. Write a program to show the frequency of each number as the number of times that number is found in the list. | **T5 (4p - bonus)** You have a list of numbers. Write a program to show the frequency of each number as the number of times that number is found in the list. | ||
| - | Tip: | + | Hint: |
| - | + | * Use dictionaries to keep track of each element | |
| - | *Use dictionaries to keep track of each element | + | |
| </note> | </note> | ||
| **Resources**: | **Resources**: | ||
| - | https://www.youtube.com/watch?v=WGlMlS_Yydk | + | * [[http://mathworld.wolfram.com/L2-Norm.html|L^2-Norm]] |
| - | + | * [[http://mathworld.wolfram.com/StandardDeviation.html|Standard Deviation]] | |
| - | http://mathworld.wolfram.com/L2-Norm.html | + | * [[https://www.youtube.com/watch?v=WGlMlS_Yydk|Apriori Algorithm (Associated Learning) - Fun and Easy Machine Learning]] |
| - | http://mathworld.wolfram.com/StandardDeviation.html | ||