Add some stuff to lists, tuples, dicts and sets

Lists: added `remove`, `insert` and `index`
Tuples: added extended unpacking
Dictionaries: added new unpacking from Python 3.5
Sets: added ^, <=, >= operators
This commit is contained in:
evuez 2015-10-13 15:09:38 +02:00
parent 59a07411ef
commit f77199b780

View File

@ -212,6 +212,17 @@ li2 = li[:] # => li2 = [1, 2, 4, 3] but (li2 is li) will result in false.
# Remove arbitrary elements from a list with "del" # Remove arbitrary elements from a list with "del"
del li[2] # li is now [1, 2, 3] del li[2] # li is now [1, 2, 3]
# Remove first occurrence of a value
li.remove(2) # li is now [1, 3]
li.remove(2) # Raises a ValueError as 2 is not in the list
# Insert an element at a specific index
li.insert(1, 2) # li is now [1, 2, 3] again
# Get the index of the first item found
li.index(2) # => 3
li.index(4) # Raises a ValueError as 4 is not in the list
# You can add lists # You can add lists
# Note: values for li and for other_li are not modified. # Note: values for li and for other_li are not modified.
li + other_li # => [1, 2, 3, 4, 5, 6] li + other_li # => [1, 2, 3, 4, 5, 6]
@ -245,6 +256,8 @@ tup[:2] # => (1, 2)
# You can unpack tuples (or lists) into variables # You can unpack tuples (or lists) into variables
a, b, c = (1, 2, 3) # a is now 1, b is now 2 and c is now 3 a, b, c = (1, 2, 3) # a is now 1, b is now 2 and c is now 3
# You can also do extended unpacking
a, *b, c = (1, 2, 3, 4) # a is now 1, b is now [2, 3] and c is now 4
# Tuples are created by default if you leave out the parentheses # Tuples are created by default if you leave out the parentheses
d, e, f = 4, 5, 6 d, e, f = 4, 5, 6
# Now look how easy it is to swap two values # Now look how easy it is to swap two values
@ -302,6 +315,11 @@ filled_dict.update({"four":4}) #=> {"one": 1, "two": 2, "three": 3, "four": 4}
# Remove keys from a dictionary with del # Remove keys from a dictionary with del
del filled_dict["one"] # Removes the key "one" from filled dict del filled_dict["one"] # Removes the key "one" from filled dict
# From Python 3.5 you can also use the additional unpacking options
{'a': 1, **{'b': 2}} # => {'a': 1, 'b': 2}
{'a': 1, **{'a': 2}} # => {'a': 2}
# Sets store ... well sets # Sets store ... well sets
empty_set = set() empty_set = set()
@ -328,6 +346,15 @@ filled_set | other_set # => {1, 2, 3, 4, 5, 6}
# Do set difference with - # Do set difference with -
{1, 2, 3, 4} - {2, 3, 5} # => {1, 4} {1, 2, 3, 4} - {2, 3, 5} # => {1, 4}
# Do set symmetric difference with ^
{1, 2, 3, 4} ^ {2, 3, 5} # => {1, 4, 5}
# Check if set on the left is a superset of set on the right
{1, 2} >= {1, 2, 3} # => False
# Check if set on the left is a subset of set on the right
{1, 2} <= {1, 2, 3} # => True
# Check for existence in a set with in # Check for existence in a set with in
2 in filled_set # => True 2 in filled_set # => True
10 in filled_set # => False 10 in filled_set # => False