-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathType-TUPLES.py
More file actions
149 lines (111 loc) · 3.07 KB
/
Type-TUPLES.py
File metadata and controls
149 lines (111 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
########## TUPLES ##########
## IMMUTABLES list: comme des Lists mais immutable cad on ne peut pas changer l'ordre contrairement aux list
# Sera utilise pour s'assurer que la "list" ne bouge pas
# ON NE PEUT PAS APPEND ou MODIFY ou DLETE un element d'un tuple
# SEULEMENT AJOUTER des elements ou supprimer tout le tuple
t = (1, 2, 3)
t = (*t, 5) # ajoute 5 à la fin
print(t)
# (1, 2, 3, 5)
t = (1, 2, 3)
t = t + (4,)
print(t)
# (1, 2, 3, 4)
t = (0,) + t
print(t)
# (0, 1, 2, 3, 4)
t = t[:2] + (9,) + t[2:]
# (0, 1, 9, 2, 3, 4)
# the len() function accepts tuples, and returns the number of elements contained inside
# the + operator can join tuples together
# the * operator can multiply tuples, just like lists
# the in and not in operators work in the same way as in lists
myTuple = (1, 10, 100)
t1 = myTuple + (1000, 10000)
print(t1)
# (1, 10, 100, 1000, 10000)
t2 = myTuple * 3
print(t2)
# (1, 10, 100, 1, 10, 100, 1, 10, 100)
myTuple = ("a", [10, 100], 2.0)
myTuple2 = ("a",)
print(myTuple-myTuple2)
# TypeError: unsupported operand type(s) for -: 'tuple' and 'tuple'
## L'indexation fonctionne comme pour les list
myTuple = (1, 2.0, "string", [3, 4], (5, ), True)
print(myTuple[3])
# [3, 4]
## tuple utilise parenthèses () ou simple suite de donnees separees par des virgules
tuple1 = (1, 2, 4, 8)
tuple2 = 1., .5, .25, .125
#MAIS le print sera affiché avec des parenthèses
print(tuple1)
# (1, 2, 4, 8)
print(tuple2)
# (1.0, 0.5, 0.25, 0.125)
## SI tuple a une seule value, FINIR par un comma anyway, SINON vue une valeur simple
tupple3 = (1,)
## On peut printer a partir d'un tupple des int/float/str/list/tuple
myTuple = (1, 10, 100, 1000)
print(myTuple[0])
# 0
print(myTuple[-1])
# 1000
print(myTuple[1:])
# (10, 100, 1000)
print(myTuple[:-2])
# (1, 10)
myTuple = ("a", [10, 100], 2.0)
print(type(myTuple[0]))
print(type(myTuple[1]))
print(type(myTuple[2]))
# <class 'str'>
# <class 'list'>
# <class 'float'>
## On peut ecraser un tup par une partie de lui-meme
tup = (1,2,4,8)
tup = tup [1:-1] # slicing on commence à 1 et on s'arrete avant -1
print (tup)
# (2,4)
## Faire un tuple à partir d'une list
my_tuple = tuple(['cat', 'dog', 5])
x = type(my_tuple)
print(x)
# <class 'tuple'>
l = ["car", "Ford", "flower", "Tulip"]
t = tuple(l)
print(t)
# ('car', 'Ford', 'flower', 'Tulip')
## Faire un dictionnary a partir d'un tuple
colors = (("green", "#008000"), ("blue", "#0000FF"))
colDict = dict(colors)
print(colDict)
# {'green': '#008000', 'blue': '#0000FF'}
## in, not in
print(len(t2))
# 9
print(t1)
# (1, 10, 100, 1000, 10000)
print(t2)
# (1, 10, 100, 1, 10, 100, 1, 10, 100)
print(10 in myTuple)
# True
print(-10 not in myTuple)
# True
## On peut donner des valeurs a des variables via des tuples
tup = 1, 2, 3
a, b, c = tup
print(a * b * c)
# 6
## pour checker si on a une list ou un tuple
list1 = [1,2,3]
tupple1 = 1, 2,3
print (type(list1))
print (type(tupple1))
# <class 'list'>
# <class 'tuple'>
## Compter les elem similaires dans un tuple
tuple = 1, 2, 3, 2, 4, 5, 6, 2, 7, 2, 8, 9
duplicates = tuple.count(2)
print (duplicates)
4 # il y a 4 "2" dans le tuple