array
β’ 561 words β’ 3 min β’ updated
python
from copy import copy, deepcopy
if __name__ == "__main__":
assert [] == []
a = []
if a:
assert False
assert [1] + [2] == [1, 2]
assert [1] < [1, 2]
assert [1, 2] == [1, 2]
assert [1, 2] != (1, 2)
a = [1]
a.append(2)
assert a == [1, 2]
a.extend([3])
assert a == [1, 2, 3]
assert a.pop() == 3
assert a == [1, 2]
assert len(a) == 2
assert 1 in a
assert 2 in a
assert 3 not in a
assert [0] + [1, 2] == [0, 1, 2]
ans = []
for el in a:
ans.append(el)
assert ans == [1,2]
[i for i in range(3)] == [0, 1, 2]
(i for i in range(3)) == (0, 1, 2)
(i for i in range(3)) == tuple([0, 1, 2])
# filter
[i for i in range(4) if i & 1] == [1, 3]
[i for i in range(4) if i % 2] == [1, 3]
[i for i in range(4) if i & 0] == [0, 2]
[i for i in range(4) if not i % 2] == [0, 2]
# map
[2 * i for i in range(1, 3)] == [2, 4]
# map function
list(map(lambda i: i * 2, range(1, 3))) == [2, 4]
# filter function
list(filter(lambda i: i % 1, range(4))) == [1, 3]
range(3) == list(reversed(list(reversed(range(3)))))
range(3) == range(3)[::-1][::-1]
assert list(range(2)) == [0, 1]
assert list(range(3)) == [0, 1, 2]
assert list(range(3))[:1] == [0]
assert list(range(3)[:1]) == [0]
assert list(range(3))[1:] == [1, 2]
assert list(range(3))[1:2] == [1]
assert range(0, 10, 2) == range(10)[::2]
assert range(1, 10, 2) == range(10)[1::2]
assert range(1, 7, 2) == range(10)[1:7:2]
assert [1, 2][-1] == 2
assert [1, 2][-2] == 1
q = [1,2]
q.append(3)
assert list(range(-1)) == []
assert range(-1) == range(-2) == range(0) == range(1, 1)
[0, 1, 2][::-1] == [2, 1, 0]
assert list(range(3, -1, -1)) == [3, 2, 1, 0]
assert list(range(2, -1, -1)) == [2, 1, 0]
assert list(range(3, 0, -1)) == [3, 2, 1]
assert list(range(3, -1, -2)) == [3, 1]
assert list(enumerate(range(3))) == [(0, 0), (1, 1), (2, 2)]
assert list(enumerate(range(2, -1, -1))) == [(0, 2), (1, 1), (2, 0)]
q = [1, 2]
del q[0]
assert q == [2]
q.remove(2)
assert q == []
q = [1]
try:
del q[1]
assert False
except Exception:
...
try:
q.remove(2)
assert False
except Exception:
...
if 2 in q:
q.remove(2)
assert str([1, 2]) == '[1, 2]'
assert str(list(range(30))) == f'[{', '.join([str(el) for el in range(30)])}]'
assert [2] * 2 == [2, 2]
# m x n matrix
m = 10
n = 20
v = [[0] * n for _ in range(m)]
assert len(v) == m
assert len(v[0]) == n
assert v.count([0] * n) == m
assert sum([row.count(0) for row in v]) == m * n
v.clear()
assert len(v) == 0
assert sum([1, 2]) == 3
## sum(1, 2) does not work
assert min(1, 2) == 1
assert min([1, 2]) == 1
assert max(1, 2) == 2
assert max([1, 2]) == 2
v = [1, 2]
assert v.copy() == v == copy(v) == deepcopy(v) == v[:]
assert v.index(2) == 1
# assert v.index(3) == -1
assert v.reverse() is None
assert v == [2, 1]
assert v.sort() is None
assert v == [1, 2]
v.insert(1, 1.5)
assert v == [1, 1.5, 2]
assert v.pop(1) == 1.5
v.insert(1, 1.5)
assert v.pop(-2) == 1.5