Python Basics Notes @pythonRe.pdf
2.4 MB
Python Basics Notes 🐍📚
https://t.iss.one/pythonRe 🔗
#Python #Coding #Programming #LearnPython #Tech #DevCommunity
https://t.iss.one/pythonRe 🔗
#Python #Coding #Programming #LearnPython #Tech #DevCommunity
❤3🔥2
If you work with Python, remember a simple rule: do not modify a list while iterating over it. 🐍🛑 This can lead to unexpected results because the iterator does not track structural changes.
Here is an example that looks logical but works incorrectly: 🤔
It seems that all 2s should disappear, but one remains. ❓ Why?
After removing an element, the list shifts, but the loop moves on — as a result, some values are simply skipped. 🔄🚫
How to do it correctly — iterate over a copy: ✅
Even better — use list comprehension: 🚀
items = [x for x in items if x != 2]
Conclusion: 🏁 do not modify a collection during iteration. This can lead to skipped elements, duplication, or even errors during execution. 🛠️🚧
#Python #Coding #Programming #Debugging #TechTips #PythonTips
Here is an example that looks logical but works incorrectly: 🤔
items = [1, 2, 2, 3, 4]
for item in items:
if item == 2:
items.remove(item)
print(items)
# Output: [1, 2, 3, 4]
It seems that all 2s should disappear, but one remains. ❓ Why?
After removing an element, the list shifts, but the loop moves on — as a result, some values are simply skipped. 🔄🚫
How to do it correctly — iterate over a copy: ✅
for item in items[:]:
if item == 2:
items.remove(item)
print(items)
# Output: [1, 3, 4]
Even better — use list comprehension: 🚀
items = [x for x in items if x != 2]
Conclusion: 🏁 do not modify a collection during iteration. This can lead to skipped elements, duplication, or even errors during execution. 🛠️🚧
#Python #Coding #Programming #Debugging #TechTips #PythonTips
❤2
Many applications require mapping strings to integers. In Python, this usually looks like:
If there are 1 million keys, this can consume a lot of memory — more than 100 bytes per key.
Our elephant has published a new library that uses about 9 bytes per key. Yes, only 9 bytes. Usage looks like this:
It can be significantly faster (for example, up to 2 times in some cases) than the standard dictionary. It can also be serialized and deserialized to disk or network for convenient reuse.
https://pypi.org/project/fastconstmap/
github: https://github.com/lemire/fastconstmap
👉 @PythonRe
d = {"apple": 100, "banana": 200, "cherry": 300}If there are 1 million keys, this can consume a lot of memory — more than 100 bytes per key.
Our elephant has published a new library that uses about 9 bytes per key. Yes, only 9 bytes. Usage looks like this:
from fastconstmap import ConstMap
d = {"apple": 100, "banana": 200, "cherry": 300}
m = ConstMap(d)
m["apple"] # -> 100
m.get_many(["banana", "cherry"]) # -> [200, 300]
It can be significantly faster (for example, up to 2 times in some cases) than the standard dictionary. It can also be serialized and deserialized to disk or network for convenient reuse.
https://pypi.org/project/fastconstmap/
github: https://github.com/lemire/fastconstmap
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
The Python library itertools contains many useful functions. 🐍✨
One of them is compress(), which returns an iterator over the elements from data, for which the corresponding element in selectors is equal to True. 🔍💻
Here's an example: 📝👇
#Python #Programming #Itertools #Coding #Tech #DataScience
One of them is compress(), which returns an iterator over the elements from data, for which the corresponding element in selectors is equal to True. 🔍💻
Here's an example: 📝👇
#Python #Programming #Itertools #Coding #Tech #DataScience
🔥2
Cheat sheet on the basics of Python: 🐍📚
basic syntax and language rules 📝
scalar types — basic data types (int, float, bool, str, NoneType) 🔢
datetime — working with date and time 📅⏰
data structures — Python data structures (list, tuple, dict, set) 🗄
list — mutable lists for storing data collections 📋
tuple — immutable sequences of values 🔒
dict (hash map) — storing data in a key-value format 🗝
set — unique elements without order 🔘
slicing — obtaining parts of sequences through indices and step ✂️
module/library — connecting modules and libraries 🔌
help functions — using help() and dir() to explore the Python API 🛠
#Python #Coding #DataScience #Programming #Tech #DevCommunity
basic syntax and language rules 📝
scalar types — basic data types (int, float, bool, str, NoneType) 🔢
datetime — working with date and time 📅⏰
data structures — Python data structures (list, tuple, dict, set) 🗄
list — mutable lists for storing data collections 📋
tuple — immutable sequences of values 🔒
dict (hash map) — storing data in a key-value format 🗝
set — unique elements without order 🔘
slicing — obtaining parts of sequences through indices and step ✂️
module/library — connecting modules and libraries 🔌
help functions — using help() and dir() to explore the Python API 🛠
#Python #Coding #DataScience #Programming #Tech #DevCommunity
❤5🔥3👍2
Do you know that Python can shift sequences without slicing and creating new lists? 🤔
When you need to cyclically shift data, many use slicing:
But
A negative value rotates the queue in the other direction. ⬅️
This is useful for ring buffers, task schedulers, cyclical queues, and round-robin algorithms. 🔄
🔥
#Python #Programming #Deque #CodingTips #Tech #DevCommunity
When you need to cyclically shift data, many use slicing:
data = data[-1:] + data[:-1]
But
deque.rotate() does this at the level of the data structure and usually works more efficiently for cyclical operations. 🚀q.rotate(1)
A negative value rotates the queue in the other direction. ⬅️
q.rotate(-2)
This is useful for ring buffers, task schedulers, cyclical queues, and round-robin algorithms. 🔄
workers.rotate(-1)
🔥
deque.rotate() allows you to implement cyclical data structures without manual index logic and without creating new lists. 💡#Python #Programming #Deque #CodingTips #Tech #DevCommunity
❤7
"Open Data Structures" is another very useful free resource for anyone studying data structures and algorithms. 📚✨
The book discusses the implementation and analysis of basic structures: array-based lists, linked lists, hash tables, binary trees, red-black trees, heaps, sorting algorithms, graphs, and data structures for working with integers. 🔍🧮
This is a full-fledged open textbook for studying one of the fundamental topics of computer science and a good reference that's worth keeping on hand. 💻🌟
https://opendatastructures.org/ods-python.pdf 📄
👉 @PythonRe
#DataStructures #Algorithms #Python #ComputerScience #OpenSource #Learning
The book discusses the implementation and analysis of basic structures: array-based lists, linked lists, hash tables, binary trees, red-black trees, heaps, sorting algorithms, graphs, and data structures for working with integers. 🔍🧮
This is a full-fledged open textbook for studying one of the fundamental topics of computer science and a good reference that's worth keeping on hand. 💻🌟
https://opendatastructures.org/ods-python.pdf 📄
#DataStructures #Algorithms #Python #ComputerScience #OpenSource #Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7
How to check for the presence of subclasses in Python? 🐍🧐
Here's how you can do it:
This function uses the
#Python #Programming #Subclasses #Coding #Dev #Tech
Here's how you can do it:
import inspect
def has_subclasses(cls):
return any(issubclass(sub, cls) for sub in inspect.getmembers(sys.modules[cls.__module__], inspect.isclass))
This function uses the
inspect module to find all subclasses of the given class. 🛠️#Python #Programming #Subclasses #Coding #Dev #Tech
❤4👍1
📂 Reminder about Python map()!
map() — a built-in function that applies the specified function to each element of an iterable object (list, tuple, set, etc.).
The picture shows the basic syntax, an example of use with lambda, and a typical case — data transformation without a manual for loop.
Save it to quickly remember the syntax!
🐍💻🗺️ #Python #Coding #Programming #LearnToCode #DevTips #Tech
map() — a built-in function that applies the specified function to each element of an iterable object (list, tuple, set, etc.).
The picture shows the basic syntax, an example of use with lambda, and a typical case — data transformation without a manual for loop.
Save it to quickly remember the syntax!
🐍💻🗺️ #Python #Coding #Programming #LearnToCode #DevTips #Tech
❤6👍1
If you're working with data pipelines, these repositories are very useful: 🚀📊
ibis: A Python API that allows you to write queries once and run them on different data backends, such as DuckDB, BigQuery, and Snowflake. 🐍🔗
https://github.com/ibis-project/ibis
pygwalker: Instantly turns a DataFrame into an interactive UI for visual data exploration. 📈🖥️
https://github.com/Kanaries/pygwalker
katana: A fast and scalable web crawler, often used for security testing and large-scale data collection/search. 🕷️🔒
https://github.com/projectdiscovery/katana
#dataengineering #python #opensource #devtools #dataviz #security
ibis: A Python API that allows you to write queries once and run them on different data backends, such as DuckDB, BigQuery, and Snowflake. 🐍🔗
https://github.com/ibis-project/ibis
pygwalker: Instantly turns a DataFrame into an interactive UI for visual data exploration. 📈🖥️
https://github.com/Kanaries/pygwalker
katana: A fast and scalable web crawler, often used for security testing and large-scale data collection/search. 🕷️🔒
https://github.com/projectdiscovery/katana
#dataengineering #python #opensource #devtools #dataviz #security
❤3
"Introduction to Algorithms" 📘 - an outstanding university resource for everyone studying algorithms and computer science. 🎓💻
The book covers computational complexity, data structures, algorithms on graphs, dynamic programming, divide-and-conquer methods, greedy algorithms, randomized algorithms, and many mathematical foundations of modern computer science. 🧮📊🔍
What's particularly valuable here is the combination of mathematical rigor and practical algorithmic thinking. 🧠✨ This is one of those books that greatly change the approach to problem analysis, efficiency, and computing itself. 🚀🛠
An essential tool in the library of any developer and engineer working in the field of computer science. 🏗💾
https://www.cs.mcgill.ca/~akroit/math/compsci/Cormen%20Introduction%20to%20Algorithms.pdf 🔗
#Algorithms #ComputerScience #Programming #CSStudent #TechEducation #DevTools
The book covers computational complexity, data structures, algorithms on graphs, dynamic programming, divide-and-conquer methods, greedy algorithms, randomized algorithms, and many mathematical foundations of modern computer science. 🧮📊🔍
What's particularly valuable here is the combination of mathematical rigor and practical algorithmic thinking. 🧠✨ This is one of those books that greatly change the approach to problem analysis, efficiency, and computing itself. 🚀🛠
An essential tool in the library of any developer and engineer working in the field of computer science. 🏗💾
https://www.cs.mcgill.ca/~akroit/math/compsci/Cormen%20Introduction%20to%20Algorithms.pdf 🔗
#Algorithms #ComputerScience #Programming #CSStudent #TechEducation #DevTools
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Tania Trading Academy ☀️
Click and I accept you instantly ! 💓👇