Tuples

(Fortgeschrittene)

Fortgeschrittene Techniken

Tuples Anlegen

tup1 = ('a',)*5
tup1
('a', 'a', 'a', 'a', 'a')
tup1 = (0,)*10
tup1
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
tup1 = tuple(range(0,10))
tup1
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
tup1 = tuple(range(10,0,-1))
tup1
(10, 9, 8, 7, 6, 5, 4, 3, 2, 1)
tup1 = [i for i in range(0,10)]
tup1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
tup1 = [i*i for i in range(0,10)]
tup1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
tup1 = [i%2 for i in range(0,10)]
tup1
[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]

Tuples sind geordnet

tup1 = ('a', 'b', 'c')
tup2 = ('a', 'b', 'c')
tup1 == tup2
True
tup1 is tup1
True
tup1 is tup2
False
tup1 = ('c', 'b', 'a')
tup2 = ('a', 'b', 'c')
tup1 == tup2
False
tup1 is tup1
True
tup1 is tup2
False

Tuples mit willkürlichen Objekten

tup1 = (1, 2, 3, 4)
tup1
(1, 2, 3, 4)
tup1 = ('int', 1, 'float', 2.0, 'complex', 1+2j, 'boolean', True)
tup1
('int', 1, 'float', 2.0, 'complex', (1+2j), 'boolean', True)

Indexierung

t = (0, 1, 2, 3, 4)
t
(0, 1, 2, 3, 4)
t[0]
0
t[1:4]
(1, 2, 3)
t[1:]
(1, 2, 3, 4)
t[:]
(0, 1, 2, 3, 4)
t[len(t)-1]
4
t[len(t)-2]
3
t[-1]
4
t[-2]
3
t[::2]
(0, 2, 4)
t[0:4:2]
(0, 2)
t[::-1]
(4, 3, 2, 1, 0)
t[-1:-4:-2]
(4, 2)

Tuples Elemente

tup1 = ['a','b','c','d']
a, b, c, d = tup1
a
'a'
_, _, _, d = tup1
d
'd'

Tuples (in und not in)¶

'a' in tup1
True
'x' in tup1
False
'a' not in tup1
False
'x' not in tup1
True

Tuple von Tuples¶

tup1 = (1,)*5
tup2 = (2,)*5
tup3 = (3,)*5
tup_all = (tup1,tup2,tup3)
tup_all
((1, 1, 1, 1, 1), (2, 2, 2, 2, 2), (3, 3, 3, 3, 3))

Verschachtelte tuples

tup1 = ('a', ('aa', ('aaa', 'bbb'), 'bb'), 'b')
tup1
('a', ('aa', ('aaa', 'bbb'), 'bb'), 'b')
print(tup1[0])
print(tup1[1])
print(tup1[2])
a
('aa', ('aaa', 'bbb'), 'bb')
b
print(tup1[1][0])
print(tup1[1][1])
print(tup1[1][2])
aa
('aaa', 'bbb')
bb
'a' in tup1
True
'aa' in tup1
False
'aa' in tup1[1]
True

Tuple Elemente verändern nich möglich

tup1 = ('a','b','c','d')
# tup1[0] = 'x'

Tuples Methoden

def get_all_class_methods(class_):
    """ get all class methods, using dir"""
    list_methods = [name for name in dir(class_) if name.islower() and name[0] !='_']
    return list_methods


list_methods = get_all_class_methods(tuple)

print(len(list_methods))
print(list_methods)
2
['count', 'index']

len()

Bemerkung

len(tuples)
tup1 = (1, 2, 3, -2, -1)
print(len(tup1))
5

min()

Bemerkung

min(tuples)
tup1 = (1, 2, 3, -2, -1)
print(min(tup1))
-2

max()

Bemerkung

max(tuples)
tup1 = (1, 2, 3, -2, -1)
print(max(tup1))
3

tuple()

Bemerkung

tuples(seq)
aList = ['Mechanik','Elektonik','Informatik']
tup1 = tuple(aList)
tup1
('Mechanik', 'Elektonik', 'Informatik')

count()

Bemerkung

tuple.count(obj)
tup1 = ('Mechanik','Mechanik','Mechanik','Elektonik','Elektonik','Informatik')
print(tup1.count('Mechanik'))
print(tup1.count('Elektonik'))
print(tup1.count('Informatik'))
3
2
1

index()

Bemerkung

tuple.index(obj)
tup1 = ['Mechanik','Elektonik','Informatik']
print(tup1.index('Informatik'))
2