Olen tätä nyt muutaman tunnin pähkäillyt elikkäs..
Jos minulla on kaksi yhtäpitkää tuple-tyyppistä tietorakennetta esim.
tuple1 = ( 'a', 'b', 'c', 'd' ) ja tuple2 = ( 1, 2, 3, 4 )
Haluisin yhdistää nämä ja saada aikaan: tuple3 = ( ( 'a', 1 ), ( 'b', 2 ), ( 'c', 3 ), ( 'd', 4) )
Ehkä parhain yritys itselläni toistaiseksi on seuraavalla koodilla:
tuple1 = ( 'a', 'b', 'c', 'd' )
tuple2 = ( 1, 2, 3, 4 )
tuple3 = ( )
for i in range(0, len(tuple1)):
tuple3 = tuple3, (tuple1[i], tuple2[i])
print tuple3
Tulostus on kuitenkin:
( ( ( ( ( ), ('a', 1 ) ), ('b', 2) ), ('c', 3) ), ('d', 4) )
Pieni python ongelma
3
366
Vastaukset
- asdadada
älä nyt masennu :)
>>> tuple1 = ( 'a', 'b', 'c', 'd' )
>>> tuple2 = ( 1, 2, 3, 4 )
>>> zip(tuple1, tuple2)
[('a', 1), ('b', 2), ('c', 3), ('d', 4)] - asdadads
Lisäksi tuo mitä sinulla ilmeisestikin oli mieless:
>>> tuple1 = ( 'a', 'b', 'c', 'd' )
>>> tuple2 = ( 1, 2, 3, 4 )
>>> l = []
>>> for i in xrange(0, len(tuple1)):
... l.append((tuple1[i], tuple2[i]))
...
>>> print l
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
Huomaa, että tuple on ns. "immutable" tyyppi, eli sen arvoa ei voi muuttaa. Käytä listatyyppiä tämäntapaisessa.
Jos haluat välttämättä tuon listan lopuksi kuitenkin tuplena voit konvertoida listan tupleksi:
>>> tuple(l)
('a', 1), ('b', 2), ('c', 3), ('d', 4))- anakonda27
Voi herran jestas. Oipas se loppujen lopuksi yksinkertaista :D
Tuhannet kiitokset sinulle!
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Tänään pyörit ajatuksissa enemmän, kun erehdyin lukemaan palstaa
En saisi, silti toivon että sinä vielä palaat ja otetaan oikeasti selvää, hioituuko särmät ja sulaudummeko yhteen. Vuod225474- 324810
- 282721
- 342344
- 372058
- 152008
En ole koskaan kokenut
Ennen mitään tällaista rakastumista. Tiedän että kaipaan sinua varmaan loppu elämän. Toivottavasti ei tarvitsisi vain ka191647- 121591
- 231462
Voi ei! Jari Sillanpää heitti keikan Helsingissä - Hämmästyttävä hetki lavalla...
Ex-tangokuningas on parhaillaan konserttikiertueella. Hän esiintyi Savoy teatterissa äitienpäivänä. Sillanpää jakoi kons251429