*Memo:
- My post explains a list (1).
- My post explains a list (2).
- My post explains a list (4).
- My post explains a list (5).
- My post explains a list (6).
A list can be enlarged with * and a number as shown below:
<1D list>:
v = [0, 1, 2, 3, 4] * 3
print(v)
# [0, 1, 2, 3, 4, 0, 1, 2, 3, 4, 0, 1, 2, 3, 4]
v = ['A', 'B', 'C', 'D', 'E'] * 3
print(v)
# ['A', 'B', 'C', 'D', 'E', 'A', 'B', 'C', 'D', 'E', 'A', 'B', 'C', 'D', 'E']
v = [] * 3
print(v)
# []
<2D list>:
v = [[0, 1, 2, 3, 4]] * 3
print(v)
# [[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]
v = [['A', 'B', 'C', 'D', 'E']] * 3
print(v)
# [['A', 'B', 'C', 'D', 'E'],
# ['A', 'B', 'C', 'D', 'E'],
# ['A', 'B', 'C', 'D', 'E']]
v = [[]] * 3
print(v)
# [[], [], []]
<3D list>:
v = [[[0, 1, 2, 3, 4]]] * 3
print(v)
# [[[0, 1, 2, 3, 4]], [[0, 1, 2, 3, 4]], [[0, 1, 2, 3, 4]]]
v = [[['A', 'B', 'C', 'D', 'E']]] * 3
print(v)
# [[['A', 'B', 'C', 'D', 'E']],
# [['A', 'B', 'C', 'D', 'E']],
# [['A', 'B', 'C', 'D', 'E']]]
v = [[[]]] * 3
print(v)
# [[[]], [[]], [[]]]
A list and other lists can be concatenated with + as shown below:
v = [0, 1, 2] + [[3, 4]] + [[[5, 6, 7, 8]]]
print(v)
# [0, 1, 2, [3, 4], [[5, 6, 7, 8]]]
A list and other list cannot return:
- all the elements in them with
'|'(Union: A ∪ B). - their common elements with
'&'(Intersection: A ∩ B). - the elements in the list which aren't in other list with
'-'(Difference: A - B). - the elements in either the list or other list but not both with
'^'(Symmetric Difference: A Δ B).
v = [0, 4] | [0, 2, 4]
# TypeError: unsupported operand type(s) for |: 'list' and 'list'
v = [0, 1, 2, 3] & [0, 2, 4]
# TypeError: unsupported operand type(s) for &: 'list' and 'list'
v = [0, 1, 2, 3] - [0, 2, 4]
# TypeError: unsupported operand type(s) for -: 'list' and 'list'
v = [0, 1, 2, 3] ^ [0, 2, 4]
# TypeError: unsupported operand type(s) for ^: 'list' and 'list'
A list can be iterated with a for statement as shown below:
<1D list>:
for x in [0, 1, 2, 3, 4]:
print(x)
# 0
# 1
# 2
# 3
# 4
<2D list>:
for x in [[0, 1, 2, 3], [4, 5, 6, 7]]:
for y in x:
print(y)
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
<3D list>:
for x in [[[0, 1], [2, 3]], [[4, 5], [6, 7]]]:
for y in x:
for z in y:
print(z)
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
A list can be unpacked with an assignment and for statement, function and * but not with ** as shown below:
v1, v2, v3 = [0, 1, 2]
print(v1, v2, v3)
# 0 1 2
v1, *v2, v3 = [0, 1, 2, 3, 4, 5]
print(v1, v2, v3) # 0 [1, 2, 3, 4] 5
print(v1, *v2, v3) # 0 1 2 3 4 5
for v1, v2, v3 in [[0, 1, 2], [3, 4, 5]]:
print(v1, v2, v3)
# 0 1 2
# 3 4 5
for v1, *v2, v3 in [[0, 1, 2, 3, 4, 5], [6, 7, 8, 9, 10, 11]]:
print(v1, v2, v3)
print(v1, *v2, v3)
# 0 [1, 2, 3, 4] 5
# 0 1 2 3 4 5
# 6 [7, 8, 9, 10] 11
# 6 7 8 9 10 11
print(*[0, 1], 2, *[3, 4, *[5]])
# 0 1 2 3 4 5
print([*[0, 1], 2, *[3, 4, *[5]]])
# [0, 1, 2, 3, 4, 5]
def func(p1='a', p2='b', p3='c', p4='d', p5='e', p6='f'):
print(p1, p2, p3, p4, p5, p6)
func()
# a b c d e f
func(*[0, 1, 2, 3], *[4, 5])
# 0 1 2 3 4 5
def func(p1='a', p2='b', *args):
print(p1, p2, args)
print(p1, p2, *args)
print(p1, p2, ['A', 'B', *args, 'C', 'D'])
func()
# a b ()
# a b Nothing
# a b ['A', 'B', 'C', 'D']
func(*[0, 1, 2, 3], *[4, 5])
# 0 1 (2, 3, 4, 5)
# 0 1 2 3 4 5
# 0 1 ['A', 'B', 2, 3, 4, 5, 'C', 'D']
list() can create a list with or without an iterable as shown below:
*Memo:
- The 1st argument is
iterable(Optional-Default:()-Type:Iterable):- Don't use
iterable=.
- Don't use
# Empty list
print(list())
print(list(()))
# []
print(list([0, 1, 2, 3, 4])) # list
print(list((0, 1, 2, 3, 4))) # tuple
print(list({0, 1, 2, 3, 4})) # set
print(list(frozenset([0, 1, 2, 3, 4]))) # frozenset
print(list(iter([0, 1, 2, 3, 4]))) # iterator
print(list(range(5))) # range
# [0, 1, 2, 3, 4]
print(list({'name': 'John', 'age': 36})) # dict
print(list({'name': 'John', 'age': 36}.keys())) # dict.keys()
# ['name', 'age']
print(list({'name': 'John', 'age': 36}.values())) # dict.values()
# ['John', 36]
print(list({'name': 'John', 'age': 36}.items())) # dict.items()
# [('name', 'John'), ('age', 36)]
print(list('Hello')) # str
# ['H', 'e', 'l', 'l', 'o']
print(list(b'Hello')) # bytes
print(list(bytearray(b'Hello'))) # bytearray
# [72, 101, 108, 108, 111]
Top comments (0)