Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add files via upload #67

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
395 changes: 395 additions & 0 deletions lab-list-comprehension-en_lwd.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,395 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# List Comprehensions\n",
"\n",
"Complete the following set of exercises to solidify your knowledge of list comprehensions."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import os"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1. Use a list comprehension to create and print a list of consecutive integers starting with 1 and ending with 50."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[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, 50]\n"
]
}
],
"source": [
"#your code here\n",
"integers_list=[]\n",
"for num in range(1,51):\n",
" integers_list.append(num)\n",
"print(integers_list)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 2. Use a list comprehension to create and print a list of even numbers starting with 2 and ending with 200."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[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, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, 184, 186, 188, 190, 192, 194, 196, 198, 200]\n"
]
}
],
"source": [
"#your code here\n",
"even_num_list=[]\n",
"for num in range(2,201):\n",
" if num%2==0:\n",
" even_num_list.append(num)\n",
"print(even_num_list)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 3. Use a list comprehension to create and print a list containing all elements of the 10 x 4 array below."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"a = [[0.84062117, 0.48006452, 0.7876326 , 0.77109654],\n",
" [0.44409793, 0.09014516, 0.81835917, 0.87645456],\n",
" [0.7066597 , 0.09610873, 0.41247947, 0.57433389],\n",
" [0.29960807, 0.42315023, 0.34452557, 0.4751035 ],\n",
" [0.17003563, 0.46843998, 0.92796258, 0.69814654],\n",
" [0.41290051, 0.19561071, 0.16284783, 0.97016248],\n",
" [0.71725408, 0.87702738, 0.31244595, 0.76615487],\n",
" [0.20754036, 0.57871812, 0.07214068, 0.40356048],\n",
" [0.12149553, 0.53222417, 0.9976855 , 0.12536346],\n",
" [0.80930099, 0.50962849, 0.94555126, 0.33364763]];"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.84062117, 0.48006452, 0.7876326, 0.77109654, 0.44409793, 0.09014516, 0.81835917, 0.87645456, 0.7066597, 0.09610873, 0.41247947, 0.57433389, 0.29960807, 0.42315023, 0.34452557, 0.4751035, 0.17003563, 0.46843998, 0.92796258, 0.69814654, 0.41290051, 0.19561071, 0.16284783, 0.97016248, 0.71725408, 0.87702738, 0.31244595, 0.76615487, 0.20754036, 0.57871812, 0.07214068, 0.40356048, 0.12149553, 0.53222417, 0.9976855, 0.12536346, 0.80930099, 0.50962849, 0.94555126, 0.33364763]\n"
]
}
],
"source": [
"#your code here\n",
"unested_lst=[]\n",
"for i in a:\n",
" for k in i:\n",
" unested_lst.append(k)\n",
"print(unested_lst)\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 4. Add a condition to the list comprehension above so that only values greater than or equal to 0.5 are printed."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.84062117\n",
"0.7876326\n",
"0.77109654\n",
"0.81835917\n",
"0.87645456\n",
"0.7066597\n",
"0.57433389\n",
"0.92796258\n",
"0.69814654\n",
"0.97016248\n",
"0.71725408\n",
"0.87702738\n",
"0.76615487\n",
"0.57871812\n",
"0.53222417\n",
"0.9976855\n",
"0.80930099\n",
"0.50962849\n",
"0.94555126\n"
]
}
],
"source": [
"#your code here\n",
"for num in unested_lst:\n",
" if num>=0.5:\n",
" print(num)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 5. Use a list comprehension to create and print a list containing all elements of the 5 x 2 x 3 array below."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"b = [[[0.55867166, 0.06210792, 0.08147297],\n",
" [0.82579068, 0.91512478, 0.06833034]],\n",
"\n",
" [[0.05440634, 0.65857693, 0.30296619],\n",
" [0.06769833, 0.96031863, 0.51293743]],\n",
"\n",
" [[0.09143215, 0.71893382, 0.45850679],\n",
" [0.58256464, 0.59005654, 0.56266457]],\n",
"\n",
" [[0.71600294, 0.87392666, 0.11434044],\n",
" [0.8694668 , 0.65669313, 0.10708681]],\n",
"\n",
" [[0.07529684, 0.46470767, 0.47984544],\n",
" [0.65368638, 0.14901286, 0.23760688]]];"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[0.55867166, 0.06210792, 0.08147297, 0.82579068, 0.91512478, 0.06833034, 0.05440634, 0.65857693, 0.30296619, 0.06769833, 0.96031863, 0.51293743, 0.09143215, 0.71893382, 0.45850679, 0.58256464, 0.59005654, 0.56266457, 0.71600294, 0.87392666, 0.11434044, 0.8694668, 0.65669313, 0.10708681, 0.07529684, 0.46470767, 0.47984544, 0.65368638, 0.14901286, 0.23760688]\n"
]
}
],
"source": [
"#your code here\n",
"unested_lstb=[]\n",
"for i in b:\n",
" for k in i:\n",
" for h in k:\n",
" unested_lstb.append(h)\n",
"print(unested_lstb)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 6. Add a condition to the list comprehension above so that the last value in each subarray is printed, but only if it is less than or equal to 0.5."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.06210792\n",
"0.08147297\n",
"0.06833034\n",
"0.05440634\n",
"0.30296619\n",
"0.06769833\n",
"0.09143215\n",
"0.45850679\n",
"0.11434044\n",
"0.10708681\n",
"0.07529684\n",
"0.46470767\n",
"0.47984544\n",
"0.14901286\n",
"0.23760688\n"
]
}
],
"source": [
"#your code here\n",
"for num in unested_lstb:\n",
" if num<=0.5:\n",
" print(num)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bonus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Try to solve these katas using list comprehensions."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Easy**\n",
"- [Insert values](https://www.codewars.com/kata/invert-values)\n",
"- [Sum Square(n)](https://www.codewars.com/kata/square-n-sum)\n",
"- [Digitize](https://www.codewars.com/kata/digitize)\n",
"- [List filtering](https://www.codewars.com/kata/list-filtering)\n",
"- [Arithmetic list](https://www.codewars.com/kata/541da001259d9ca85d000688)\n",
"\n",
"**Medium**\n",
"- [Multiples of 3 or 5](https://www.codewars.com/kata/514b92a657cdc65150000006)\n",
"- [Count of positives / sum of negatives](https://www.codewars.com/kata/count-of-positives-slash-sum-of-negatives)\n",
"- [Categorize new member](https://www.codewars.com/kata/5502c9e7b3216ec63c0001aa)\n",
"\n",
"**Advanced**\n",
"- [Queue time counter](https://www.codewars.com/kata/queue-time-counter)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[-1, -2, -3, -4, -5]\n"
]
}
],
"source": [
"#Insert values\n",
"#Given a set of numbers, return the additive inverse of each. Each positive becomes negatives, and the negatives become positives.\n",
"#[1, 2, 3, 4, 5] --> [-1, -2, -3, -4, -5]\n",
"#[1, -2, 3, -4, 5] --> [-1, 2, -3, 4, -5]\n",
"#[] --> []\n",
"\n",
"list1=[1, 2, 3, 4, 5]\n",
"list1_updated=[]\n",
"\n",
"for num in list1:\n",
" num=num*-1\n",
" list1_updated.append(num)\n",
"print(list1_updated)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"46\n"
]
}
],
"source": [
"### Sum Square(n)\n",
"#Complete the square sum function so that it squares each number passed into it and then sums the results together.\n",
"\n",
"#For example, for [1, 2, 2] it should return 9 because 1^2+2^2+2^2=9.\n",
"\n",
"num_list=[4, 3, 2, 4, 1]\n",
"total=0\n",
"\n",
"for num in num_list:\n",
" total+=num**2\n",
"print(total)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
},
"vscode": {
"interpreter": {
"hash": "aee8b7b246df8f9039afb4144a1f6fd8d2ca17a180786b69acc140d282b71a49"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}