[Tut] Python Container Types: A Quick Guide - Printable Version +- Sick Gaming (https://www.sickgaming.net) +-- Forum: Programming (https://www.sickgaming.net/forum-76.html) +--- Forum: Python (https://www.sickgaming.net/forum-83.html) +--- Thread: [Tut] Python Container Types: A Quick Guide (/thread-101073.html) |
[Tut] Python Container Types: A Quick Guide - xSicKxBot - 04-29-2023 Python Container Types: A Quick Guide <div> <div class="kk-star-ratings kksr-auto kksr-align-left kksr-valign-top" data-payload='{"align":"left","id":"1324280","slug":"default","valign":"top","ignore":"","reference":"auto","class":"","count":"1","legendonly":"","readonly":"","score":"5","starsonly":"","best":"5","gap":"5","greet":"Rate this post","legend":"5\/5 - (1 vote)","size":"24","title":"Python Container Types: A Quick Guide","width":"142.5","_legend":"{score}\/{best} - ({count} {votes})","font_factor":"1.25"}'> <div class="kksr-stars"> <div class="kksr-stars-inactive"> <div class="kksr-star" data-star="1" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" data-star="2" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" data-star="3" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" data-star="4" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" data-star="5" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> </p></div> <div class="kksr-stars-active" style="width: 142.5px;"> <div class="kksr-star" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> <div class="kksr-star" style="padding-right: 5px"> <div class="kksr-icon" style="width: 24px; height: 24px;"></div> </p></div> </p></div> </div> <div class="kksr-legend" style="font-size: 19.2px;"> 5/5 – (1 vote) </div> </p></div> <p>If you’re working with Python, most of the data structures you’ll think about are <strong><em>container types</em></strong>. <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f682.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f683.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f683.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f683.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p> <p>These containers are <strong>special data structures that hold and manage collections of elements</strong>. Python’s most commonly used built-in container types include <a href="https://blog.finxter.com/the-ultimate-guide-to-python-tuples/" data-type="post" data-id="12043" target="_blank" rel="noreferrer noopener">tuples</a>, <a href="https://blog.finxter.com/python-lists/" data-type="URL" data-id="https://blog.finxter.com/python-lists/" target="_blank" rel="noreferrer noopener">lists</a>, <a href="https://blog.finxter.com/python-dictionary/" data-type="URL" data-id="https://blog.finxter.com/python-dictionary/" target="_blank" rel="noreferrer noopener">dictionaries</a>, <a href="https://blog.finxter.com/sets-in-python/" data-type="URL" data-id="https://blog.finxter.com/sets-in-python/" target="_blank" rel="noreferrer noopener">sets</a>, and <a href="https://blog.finxter.com/python-frozenset/" data-type="post" data-id="23301" target="_blank" rel="noreferrer noopener">frozensets</a> <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4e6.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />. These containers make it easy for you to store, manage and manipulate your data effectively and efficiently. <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f603.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p> <p>You might be wondering what makes each container unique. Well, they all serve different purposes and have distinct characteristics. </p> <ul> <li>For instance, <strong>lists </strong>are <a href="https://blog.finxter.com/mutable-vs-immutable-objects-in-python/" data-type="post" data-id="204090" target="_blank" rel="noreferrer noopener">mutable</a> and ordered, allowing you to <a href="https://blog.finxter.com/add-elements-to-list-python/" data-type="post" data-id="9030" target="_blank" rel="noreferrer noopener">add</a>, <a href="https://blog.finxter.com/6-ways-to-remove-python-list-elements/" data-type="post" data-id="830190" target="_blank" rel="noreferrer noopener">remove</a>, or <a href="https://blog.finxter.com/how-to-replace-a-list-element-at-a-specific-index-in-python/" data-type="post" data-id="25378" target="_blank" rel="noreferrer noopener">modify</a> elements. </li> <li><strong>Tuples</strong>, on the other hand, are immutable and ordered, which means once created, their elements cannot be changed <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" />. </li> <li><strong>Dictionaries </strong>are mutable and store key-value pairs, making it efficient for data retrieval. </li> <li>Lastly, sets and <strong>frozensets </strong>are unordered collections, with <strong>sets </strong>being mutable and frozensets <a href="https://blog.finxter.com/mutable-vs-immutable-objects-in-python/" data-type="post" data-id="204090" target="_blank" rel="noreferrer noopener">immutable</a>.</li> </ul> <p>As you explore Python, understanding these container types is essential, as they provide a foundation for organizing and manipulating your data.</p> <h2 class="wp-block-heading">Basic Built-In Container Types</h2> <div class="wp-block-image"> <figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="625" height="941" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-301.png" alt="" class="wp-image-1324379" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-301.png 625w, https://blog.finxter.com/wp-content/uploads/2023/04/image-301-199x300.png 199w" sizes="(max-width: 625px) 100vw, 625px" /></figure> </div> <p>You might be wondering about Python’s built-in container types. Let’s dive into them and see how useful they can be! <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f603.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p> <h3 class="wp-block-heading">List</h3> <p class="has-global-color-8-background-color has-background">A List is a mutable sequence type in Python. It allows you to store a collection of objects in a defined order. With lists, you can add, remove or change items easily. </p> <p>Example of <a href="https://blog.finxter.com/python-create-list-of-objects/" data-type="post" data-id="873019" target="_blank" rel="noreferrer noopener">creating a list</a>:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">your_list = [1, 2, 3, 4]</pre> <p>Some handy list methods are:</p> <ul> <li><code><a href="https://blog.finxter.com/python-list-append/" data-type="post" data-id="6605" target="_blank" rel="noreferrer noopener">append(x)</a></code>: Adds x to the end of the list</li> <li><code><a href="https://blog.finxter.com/python-list-extend/" data-type="post" data-id="6741" target="_blank" rel="noreferrer noopener">extend(iterable)</a></code>: Adds items from iterable to the list</li> <li><code><a href="https://blog.finxter.com/python-list-insert-method/" data-type="post" data-id="6758" target="_blank" rel="noreferrer noopener">insert(i, x)</a></code>: Inserts x at index i</li> <li><code><a href="https://blog.finxter.com/python-list-remove/" data-type="post" data-id="6796" target="_blank" rel="noreferrer noopener">remove(x)</a></code>: Removes the first item with the value <code>x</code></li> </ul> <p>Feel free to dive into our full guide on lists here:</p> <figure class="wp-block-image size-full"><a href="https://blog.finxter.com/python-lists/" target="_blank" rel="noreferrer noopener"><img decoding="async" loading="lazy" width="1024" height="576" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-298.png" alt="" class="wp-image-1324290" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-298.png 1024w, https://blog.finxter.com/wp-content/uploads/2023/04/image-298-300x169.png 300w, https://blog.finxter.com/wp-content/uploads/2023/04/image-298-768x432.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure> <p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/python-lists/" data-type="URL" data-id="https://blog.finxter.com/python-lists/" target="_blank" rel="noreferrer noopener">The Ultimate Guide to Python Lists</a></p> <h3 class="wp-block-heading">Tuple</h3> <p class="has-global-color-8-background-color has-background">A <a href="https://docs.python.org/3/library/stdtypes.html#tuples">Tuple</a> is an immutable sequence type. It’s similar to a list but cannot be modified once created. This makes tuples ideal for storing fixed sets of data. </p> <p>Example of creating a tuple:</p> <pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">your_tuple = (1, 2, 3)</pre> <p>Since it’s immutable, fewer methods are available compared to lists:</p> <ul> <li><code>count(x)</code>: Counts the occurrences of <code>x</code> in the tuple</li> <li><code>index(x)</code>: Finds the index of the first occurrence of <code>x</code></li> </ul> <p>Again, we have created a full guide on tuples here:</p> <figure class="wp-block-image size-full"><a href="https://blog.finxter.com/the-ultimate-guide-to-python-tuples/" target="_blank" rel="noreferrer noopener"><img decoding="async" loading="lazy" width="768" height="432" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-299.png" alt="" class="wp-image-1324294" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-299.png 768w, https://blog.finxter.com/wp-content/uploads/2023/04/image-299-300x169.png 300w" sizes="(max-width: 768px) 100vw, 768px" /></a></figure> <p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/the-ultimate-guide-to-python-tuples/" data-type="URL" data-id="https://blog.finxter.com/the-ultimate-guide-to-python-tuples/" target="_blank" rel="noreferrer noopener">The Ultimate Guide to Python Tuples</a></p> <h3 class="wp-block-heading">Set</h3> <p class="has-global-color-8-background-color has-background">A set is an unordered collection of unique elements. Sets can help you manage distinct items, and they can be mutable or immutable (frozenset). </p> <p>Example of <a href="https://blog.finxter.com/how-to-create-a-python-set-of-size-n/" data-type="post" data-id="722660" target="_blank" rel="noreferrer noopener">creating a set</a>:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">your_set = {1, 2, 3, 3}</pre> <p>A few useful set operations include:</p> <ul> <li><code><a href="https://blog.finxter.com/python-set-add/" data-type="post" data-id="27986" target="_blank" rel="noreferrer noopener">add(x)</a></code>: Adds x to the set</li> <li><code><a href="https://blog.finxter.com/python-set-remove/" data-type="post" data-id="28012" target="_blank" rel="noreferrer noopener">remove(x)</a></code>: Removes x from the set</li> <li><code><a href="https://blog.finxter.com/python-set-union/" data-type="post" data-id="28003" target="_blank" rel="noreferrer noopener">union(s)</a></code>: Returns the union of the set and s</li> <li><code><a href="https://blog.finxter.com/python-set-intersection/" data-type="post" data-id="28024" target="_blank" rel="noreferrer noopener">intersection(s)</a></code>: Returns the intersection of the set and s</li> </ul> <p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/sets-in-python/" data-type="URL" data-id="https://blog.finxter.com/sets-in-python/" target="_blank" rel="noreferrer noopener">The Ultimate Guide to Python Sets</a></p> <h3 class="wp-block-heading">Dict</h3> <p class="has-global-color-8-background-color has-background">The dictionary, or <code>dict</code>, is a mutable mapping type. This container allows you to store key-value pairs efficiently. </p> <p>Example of <a href="https://blog.finxter.com/python-dictionary-how-to-create-add-replace-retrieve-remove/" data-type="post" data-id="36698" target="_blank" rel="noreferrer noopener">creating a <code>dict</code></a>:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">your_dict = {'a': 1, 'b': 2, 'c': 3}</pre> <p>Some helpful dict methods are:</p> <ul> <li><code>get(key, default)</code>: Gets the value for the key or returns the default value if not found</li> <li><code>update(iterable)</code>: Merges the key-value pairs from iterable into the dictionary</li> <li><code>pop(key, default)</code>: Removes and returns the value for the key or returns the default value if not found</li> </ul> <p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/python-dictionary/" data-type="URL" data-id="https://blog.finxter.com/python-dictionary/" target="_blank" rel="noreferrer noopener">The Ultimate Guide to Python Dictionaries</a></p> <p>That’s a quick rundown of Python’s basic built-in container types!</p> <h2 class="wp-block-heading">Advanced Container Types from Collections Module</h2> <div class="wp-block-image"> <figure class="aligncenter size-full"><img decoding="async" loading="lazy" width="602" height="941" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-302.png" alt="" class="wp-image-1324381" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-302.png 602w, https://blog.finxter.com/wp-content/uploads/2023/04/image-302-192x300.png 192w" sizes="(max-width: 602px) 100vw, 602px" /></figure> </div> <p>The Python built-in containers, such as list, tuple, and dictionary, can be sufficient for many cases. However, when you need more specialized or high-performance containers, the <code><a href="https://blog.finxter.com/how-to-check-collections-package-version-in-python/" data-type="post" data-id="479229" target="_blank" rel="noreferrer noopener">collections</a></code> module comes to the rescue <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4aa.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <p>Let’s explore some of these advanced container types:</p> <h3 class="wp-block-heading">Namedtuple</h3> <p>Ever struggled with using tuples to store data, leading to unreadable and error-prone code? <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f914.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> The <a href="https://towardsdatascience.com/pythons-collections-module-high-performance-container-data-types-cb4187afb5fc"><code>namedtuple</code></a> class is your answer! Namedtuples are similar to regular tuples, but each element has a name for better readability and maintenance <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from collections import namedtuple Person = namedtuple("Person", ["name", "age", "city"]) person1 = Person("Alice", 30, "New York") print(person1.name) # Output: Alice </pre> <p>Now, you can access tuple elements by name instead of index, making your code more readable and less error-prone <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f44c.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/python-namedtuple/" data-type="URL" data-id="https://blog.finxter.com/python-namedtuple/" target="_blank" rel="noreferrer noopener">Python Named Tuple Methods</a></p> <h3 class="wp-block-heading">Deque</h3> <p>If you need a high-performance, double-ended queue, look no further than the <code><a href="https://docs.python.org/3/library/collections.html" target="_blank" rel="noreferrer noopener">deque</a></code> class. Deques allow you to efficiently append or pop items from both ends of the queue, which can be useful in various applications, such as maintaining a fixed-size history of events <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f570.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from collections import deque dq = deque(maxlen=3) for i in range(5): dq.append(i) print(dq) # Output: # deque([0], maxlen=3) # deque([0, 1], maxlen=3) # deque([0, 1, 2], maxlen=3) # deque([1, 2, 3], maxlen=3) # deque([2, 3, 4], maxlen=3) </pre> <p>With deque, you can keep your data structures efficient and clean <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f60e.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <h3 class="wp-block-heading">ChainMap</h3> <p>Do you have multiple dictionaries that you want to treat as a single unit? The <a href="https://docs.python.org/3/library/collections.html">ChainMap</a> class can help! It allows you to link several mappings together, making it easy to search, update or delete items across dictionaries <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4da.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from collections import ChainMap dict1 = {"a": 1, "b": 2} dict2 = {"b": 3, "c": 4} chain_map = ChainMap(dict1, dict2) print(chain_map["b"]) # Output: 2, as it takes the value from the first dictionary </pre> <p>With ChainMap, you can work with multiple dictionaries as if they were one, simplifying your code and making it more efficient <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f609.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <h3 class="wp-block-heading">Counter</h3> <p>Counting items in a collection can be a repetitive task. Luckily, the <a href="https://datagy.io/python-collections/">Counter</a> class can help you keep track of elements and their counts with ease <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4af.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from collections import Counter data = [1, 2, 3, 2, 1, 3, 1, 1] count = Counter(data) print(count) # Output: Counter({1: 4, 2: 2, 3: 2}) </pre> <p>Now you can easily count items in your collections, making your code more concise and efficient <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f680.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <h3 class="wp-block-heading">OrderedDict</h3> <p>If you need a dictionary that maintains the insertion order of items, the <code><a href="https://blog.finxter.com/how-to-get-first-key-value-in-a-dictionary/" data-type="post" data-id="514603" target="_blank" rel="noreferrer noopener">OrderedDict</a></code> class is perfect for you! Although <a href="https://blog.finxter.com/how-to-check-your-python-version/" data-type="post" data-id="1371" target="_blank" rel="noreferrer noopener">Python 3.7+</a> dictionaries maintain order by default, <code>OrderedDict</code> can be useful when working with older versions or when you want to explicitly show that order matters <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4dd.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from collections import OrderedDict od = OrderedDict() od["a"] = 1 od["b"] = 2 od["c"] = 3 print(list(od.keys())) # Output: ['a', 'b', 'c'] </pre> <p><code>OrderedDict</code> ensures that your code behaves consistently across Python versions and emphasizes the importance of insertion order <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f31f.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <h3 class="wp-block-heading">Defaultdict</h3> <p>When working with dictionaries, do you often find yourself initializing default values? The <code><a href="https://datagy.io/python-collections/" target="_blank" rel="noreferrer noopener">defaultdict</a></code> class can automate that for you! Just provide a default factory function, and <code>defaultdict</code> will create default values for missing keys on the fly <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" />:</p> <pre class="EnlighterJSRAW" data-enlighter-language="python" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">from collections import defaultdict dd = defaultdict(list) dd["a"].append(1) dd["b"].append(2) dd["a"].append(3) print(dd) # Output: defaultdict(, {'a': [1, 3], 'b': [2]}) </pre> <p>With <code>defaultdict</code>, you can keep your code free of repetitive default value initializations and make your code more Pythonic <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f40d.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" />.</p> <div class="wp-block-image"> <figure class="aligncenter size-full"><img decoding="async" loading="lazy" width="627" height="942" src="https://blog.finxter.com/wp-content/uploads/2023/04/image-303.png" alt="" class="wp-image-1324382" srcset="https://blog.finxter.com/wp-content/uploads/2023/04/image-303.png 627w, https://blog.finxter.com/wp-content/uploads/2023/04/image-303-200x300.png 200w" sizes="(max-width: 627px) 100vw, 627px" /></figure> </div> <hr class="wp-block-separator has-alpha-channel-opacity"/> <p>Feel free to check out our cheat sheets on Python, OpenAI, and Blockchain topics:</p> <p>Also, you may enjoy this article:</p> <p class="has-base-2-background-color has-background"><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f4a1.png" alt="?" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Recommended</strong>: <a href="https://blog.finxter.com/21-most-profitable-programming-languages-in-2023/" data-type="post" data-id="404278" target="_blank" rel="noreferrer noopener">21 Most Profitable Programming Languages</a></p> </div> https://www.sickgaming.net/blog/2023/04/28/python-container-types-a-quick-guide/ |