Container Data Structures
Summary
- Strings in Detail
- Characters in a string can be referenced by the index access operator '[]'
- The 'in' keyword can be used to check whether a substring is present in a string, results in a boolean value
- The 'in' keyword has an iterator effect when used in a 'for' loop, not boolean in that case
- String slicing with the '[:]' operator, which returns a new string not altering the original
- upper() method returns a new string by converting all characters in a string to upper case
- lower() method returns a new string by converting all characters in a string to lower case
- strip() method returns a new string by removing and preceding and trailing white space from a string
- split() method returns a list of substrings by separating a string by a substring
- String templates can be generated using a pair of curly braces `{}` to be formatted either by the format() function, or the `%` operator
- %d, %s, %f can be used for numeric and textual formatting to reserve a given amount of space for replacement values
- Check %10d, %20s, %10.2f
- print() method can use an additional '%' operator to match placeholders to value tuples
- Lists and Tuples
- type() function can be used to find out the class type of a variable or item in a collection
- Lists can be unpacked to multiple variables at once and the asterisk (*) can be used to generate sublists for the remaining items
- Lists and tuples can also be sliced just like the strings using the '[:]' operator
- Negative indexing can be used to access the elements in a container starting from the end
- insert() method can be used to add items to a given position in a list
- append() method can be used to add items at the end of a list
- Other lists, sets, or tuples can be appended to a list using the extend() method
- Lists or tuples can be concatenated among themselves using the '+' operator, one type at a time
- remove() method can be used to delete the first occurrence of an item from a list
- pop() method can be used to remove items using an index value
- del keyword can be used to delete an item from a list or the entire list itself, making it inaccessible.
- del keyword also deletes variables other than lists
- clear() method can be used to remove all items in a list, keeping the list itself
- Items in a list can be reordered in ascending order using the sort() method.
- sort(reverse = True) will sort the items in descending order.
- reverse() method relocates the elements in the reverse order they were positioned initially.
- sort() and reverse() methods are inplace methods that modify the original list instead of returning a new list.
- Tuples cannot be modified, however they can be converted to lists using list() function, reordered and the list can be converted back to a tuple using the tuple() function.
- copy() method produces a copy of a list
- list() is a constructor method for generating lists from lists, tuples, sets, and dictionaries (keys only)
- Similarly tuple() is the constructor method for tuples
- '*' can be used to replicate lists and tuples multiple times
- count() method returns the number of occurrences of an element in the given list or tuple
- index() method returns the index of the first occurrence of an element in a list of tuple, causing an error if it is not present
- Dictionaries and Sets
- Sets contain unique values, no duplicates are allowed
- Dictionaries (collection of 'key : value' pairs) are special form of sets having unique keys, whereas the same value can be assigned to different keys
- key() method returns the set of keys of a dictionary
- get() method and '[]' operator can be used to retrieve the value of a given key
- Reassignment can be used to change the value of a key
- update() method can be used to update or add multiple items (e.g. other dictionaries) to a dictionary
- items() method returns the dict_items view of a dictionary
- 'in' keyword returns whether a given key or item is present in a dictionary or a set respectively
- clear() method removes all entries in a dictionary or set
- del keyword applies to dictionaries and sets as well
- copy() method generates a copy of a set or dictionary
- dict() can be used to construct a new dictionary from a list of tuples
- Composite keys can be used in a dictionary only as tuples. Lists cannot be keys of dictionary items.