Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python Tuples Beheersen: Definitie, Gebruik en Verschillen met Lists

Wat is een Tuple?

Een tuple is een verzameling objecten die geordend en immutable is. Tuples zijn sequences, net zoals lists. De verschillen tussen tuples en lists zijn: tuples kunnen niet gewijzigd worden in tegenstelling tot lists, en tuples gebruiken haakjes, terwijl lists vierkante haken gebruiken.

Een tuple aanmaken is zo simpel als verschillende komma-gescheiden waarden plaatsen. Optioneel kun je deze komma-gescheiden waarden tussen haakjes zetten. Bijvoorbeeld:

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"

De lege tuple wordt geschreven als twee haakjes met niets ertussen:

tup1 = ()

Om een tuple met één enkele waarde te schrijven, moet je een komma toevoegen, ook al is er maar één waarde:

tup1 = (50,)

Net als string-indices, beginnen tuple-indices bij 0, en kunnen ze gesliced, geconcateneerd, etc. worden.

Waarden in Tuples Benaderen

Om waarden in een tuple te benaderen, gebruik je de vierkante haken voor slicing samen met de index of indices om de waarde op te halen die op die index beschikbaar is. Bijvoorbeeld:

#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

Wanneer de bovenstaande code wordt uitgevoerd, produceert dit het volgende resultaat:

tup1[0]: physics
tup2[1:5]: [2, 3, 4, 5]

Tuples Updaten

Tuples zijn immutable, wat betekent dat je de waarden van tuple-elementen niet kunt updaten of wijzigen. Je kunt wel delen van bestaande tuples nemen om nieuwe tuples te maken, zoals het volgende voorbeeld demonstreert:

#!/usr/bin/python
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
# De volgende actie is niet geldig voor tuples
# tup1[0] = 100
# Laten we een nieuwe tuple maken als volgt
tup3 = tup1 + tup2
print tup3

Wanneer de bovenstaande code wordt uitgevoerd, produceert dit het volgende resultaat:

(12, 34.56, 'abc', 'xyz')

Tuple Elementen Verwijderen

Het verwijderen van individuele tuple-elementen is niet mogelijk. Je kunt natuurlijk wel een nieuwe tuple samenstellen met de ongewenste elementen weggelaten.

Om expliciet een volledige tuple te verwijderen, gebruik je de del statement. Bijvoorbeeld:

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000)
print tup
del tup
print "Na verwijderen tup: "
print tup

Dit produceert het volgende resultaat. Let op de exception, dit is omdat na del tup de tuple niet meer bestaat:

('physics', 'chemistry', 1997, 2000)
Na verwijderen tup:
Traceback (most recent call last):
  File "test.py", line 9, in 
    print tup
NameError: name 'tup' is not defined

Basale Tuple Operaties

Tuples reageren op de + en * operatoren net zoals strings; ze betekenen concatenatie en herhaling hier ook, behalve dat het resultaat een nieuwe tuple is, geen string.

Feitelijk reageren tuples op alle algemene sequence-operaties die we op strings gebruikten in het vorige hoofdstuk:

Python Expressie Resultaat Beschrijving
len((1, 2, 3))3Lengte
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)Concatenatie
('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')Herhaling
3 in (1, 2, 3)TrueLidmaatschap
for x in (1, 2, 3): print x,1 2 3Iteratie

Indexing, Slicing en Matrices

Omdat tuples sequences zijn, werken indexing en slicing hetzelfde voor tuples als voor strings. Neem aan dat de volgende input gegeven is:

L = ('spam', 'Spam', 'SPAM!')
Python Expressie Resultaat Beschrijving
L[2]'SPAM!'Offsets beginnen bij nul
L[-2]'Spam'Negatief: tellen vanaf rechts
L[1:]['Spam', 'SPAM!']Slicing haalt secties op

Geen Omsluitende Delimiters

Elke set van meerdere objecten, komma-gescheiden, geschreven zonder identificerende symbolen (dus haakjes voor lists, haakjes voor tuples, etc.), defaults naar tuples, zoals aangegeven in deze korte voorbeelden:

#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz'
x, y = 1, 2
print "Waarde van x, y: ", x, y

Wanneer de bovenstaande code wordt uitgevoerd, produceert dit het volgende resultaat:

abc -4.24e+93 (18+6.6j) xyz
Waarde van x, y: 1 2

Ingebouwde Tuple Functies

Python bevat de volgende tuple-functies:

Nr. Functie met Beschrijving
1cmp(tuple1, tuple2)

Vergelijkt elementen van beide tuples.

2len(tuple)

Geeft de totale lengte van de tuple.

3max(tuple)

Retourneert item uit de tuple met max waarde.

4min(tuple)

Retourneert item uit de tuple met min waarde.

5tuple(seq)

Converteert een lijst naar tuple.

Python

  1. Python Datatypes onder de knie krijgen: Een praktische gids
  2. Python Operators onder de knie krijgen: Een uitgebreide gids
  3. Python Pass Statement onder de knie krijgen: Een praktische gids
  4. Python Functie-argumenten onder de knie krijgen: Positionele, Keyword en Default Parameters
  5. Python-dictionaries beheersen: aanmaken, manipuleren en geavanceerde technieken
  6. Python-iterators: hoe ze werken en hoe je je eigen maakt
  7. Python-closures uitgelegd: hoe geneste functies variabelen vangen
  8. Python datetime beheersen: praktische gids voor datums, tijden en tijdzones
  9. Python's time.sleep() onder de knie krijgen: best practices, multithreading en real-world voorbeelden
  10. Python-tuples beheersen: Packen, uitpakken, vergelijken, slicen en dictionary-sleutels
  11. Python's enumerate() meesteren: lussen met indices voor lijsten, tuples, strings en dictionaries