Hogyan kell pythonba egy lista elemeit (karaktereit) megszámolni? Gérard Swinnen könyvéből a 6.14-es feladat
Szóval a lista elemeinek kiiratása megvolna, de a megszámlálás nem műkszik és nemtom miért?
# -*- coding:cp1250 -*-
# 6.14 Gyakorlat:
# Lista elemeinek kiiratása és megszámolása
t = ['Jean-Michel', 'Marc', 'Vanessa', 'Anne', 'Maximilien',
'Alexandre-Benoit', 'Louise']
i = 0
m = 0
while i < len(t):
print "A listában szereplő nevek: ",t[i]
i = i + 1
for m in range(len(t[0]), len(t[6])):
print "Lista karaktereinek száma: ",m
Nem értem. A lista elemeinek a száma az a len(t). A lista i. elemének a hossza az len(t[i]). Innentől mi kell még? Az ÖSSZES karakter?
for m in range(len(t[0]), len(t[6])):
merthogy ennek a sornak semmi értelme.
Na, előszedtem a könyvet, azt mondja, kiírja a lista elemeit és azok karaktereinek számát. :) Akkor két lehetőség van.
1. Csak annyit tudsz, mint amit addig tanított, vagyis if és while ciklus. Tehát:
# -*- coding:cp1250 -*-
# 6.14 Gyakorlat:
# Lista elemeinek kiiratása és megszámolása
#a lista
t = ['Jean-Michel', 'Marc', 'Vanessa', 'Anne', 'Maximilien',
'Alexandre-Benoit', 'Louise']
#kell egy index, hogy bejárjuk
i=0
while i < len(t):
print t[i], len(t[i])
#kiírja a nevet és ugyanabba a sorba
#a listaelem karaktereinek számát is
i+=1
A különbség, hogy nem bajlódtam a kiíráshoz a szöveggel, utálok társalogni a géppel.
2. Látom, tetszik a for siklus.
# -*- coding:cp1250 -*-
# 6.14 Gyakorlat:
# Lista elemeinek kiiratása és megszámolása
#a lista
t = ['Jean-Michel', 'Marc', 'Vanessa', 'Anne', 'Maximilien',
'Alexandre-Benoit', 'Louise']
for i in t:
print i, len(i)
Melyik tetszik jobban? A len(x) hasznos függvény, a megszámlálható elemek számát adja vissza, ami listánál az elemek száma, stringben pedig a karaktereké.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!