Sąrašai

Paprasčiausias sąrašas

sarashas = ['Linas', 'Valiukas', 18]
print sarashas	# ['Linas', 'Valiukas', 18]
print sarashas[0]	# "Linas"
print sarashas[0:2]	# ['Linas', 'Valiukas']
print len(sarashas)	# Sąrašo ilgis

Elementų pridėjimas

sarashas = sarashas + ['Vilnius']	# Pridedame vieną elementą
print sarashas*3	# Tris kartus
 
# Pridėti galima ir taip
sarashas.append ("Klaipėda")

Elementų masyvo pridėjimas

Prie vieno masyvo pridedame kitą:

dar_truputis_klasioku = [ "Egle", "Evelina", "Renata" ]
sarashas.extend (dar_truputis_klasioku)

Įdėjimas į konkrečią vietą

Pridedame į konkrečią, indeksu nurodytą vietą:

klasiokai.insert (1, "Arturas");

Elementų ištrynimas

sarashas[0:2] = []	# Ištriname du elementus
sarashas[0:1] = ['Jonas', 'Jonaitis']
print sarashas	# ['Jonas', 'Jonaitis', 'Vilnius']

remove()

Galima ir su remove():

klasiokai.remove ("Donata")
klasiokai.remove ("Goda")
klasiokai.remove ("Dovile")

pop()

Spausdiname pirmą klasioką masyve, kartu išimdami jį iš masyvo:

print klasiokai.pop (0) # "Arturas"

del

Triname antraji klasioka (Renata)

del klasiokai[1]

Triname pirmus du klasiokus (Toma ir Kristi)

del klasiokai[0:2]

Triname visus klasiokus

del klasiokai[:]

Triname klasioku masyva

del klasiokai

index()

Išsiaiškiname, kuriuo numeriu yra įrašyta Evelina:

print klasiokai.index ("Evelina") # 5

count()

Išsiaiškiname, kiek kartų į masyvą įvedėme Eleną:

print klasiokai.count ("Elena") # 1

sort() - rūšiavimas

Surūšiuojame klasiokų masyvą:

klasiokai.sort ()

reverse()

Apsukame klasiokų masyvą:

klasiokai.reverse ()

Tikrinimas su "in"

klasiokai = [ "Dovilė", "Donata", "Goda" ]
 
# Ar Donata vis dar klasiokė?
if ("Donata" in klasiokai):
    print "Klasiokė!"
if ("Linas" in ("Tomas", "Kristijonas", "Ernestas")):
    print "Aha"
else:
    print "Ne"

Gudrus sąrašo susitvarkymas

whitespace = [ " Linas ", " Laurynas ", " Kristis " ]
 
print [ vardas.strip () for vardas in whitespace ]
sarashas = range (11)
 
# Kiekvieną padauginame iš 3
print [ 3*x for x in sarashas ]
 
# Kiekvieną, kuris dalinasi iš 2, padauginame iš 6 (spausdinami tik padaugintieji)
print [ 6*x for x in sarashas if x % 2 == 0 ]
 
# Spausdiname kiekvieną elementą, padalintą iš 2 ir padaugintą iš 3
print [ [x/2, x*3] for x in sarashas ]
 
# Panašiai, tik kažkuo skiriasi :-)
print [ (x/2, x*3) for x in sarashas ]
 
# Spausdiname sąrašo elementų sandaugas
pirmas_sarashas = [ 2, 4, 6 ]
antras_sarashas = [ 3, 5, 7 ]
print [ x*y for x in pirmas_sarashas for y in antras_sarashas ]

filter(), map(), reduce()

filter()

def ar_pirminis (skaicius):
	"""Funkcija nustato, ar skaichius yra pirminis."""
 
	# Dalinasi ish 2?
	if (skaicius % 2 == 1):
		puse_skaiciaus = (skaicius - 1) / 2
	else:
		puse_skaiciaus = skaicius / 2
 
	pirminis = 1
 
	for x in range(1, puse_skaiciaus+1):
		if (skaicius % x == 0 and x != 1):
 
			pirminis = 0
			break
 
	return pirminis
 
 
# Spausdiname tik pirminius skaicius nuo 1 iki 49
print filter (ar_pirminis, range (50))

map()

def kubas (skaicius): return skaicius * skaicius * skaicius
 
# Spausdiname pirmu 11 skaichiu kubus
print map (kubas, range (1, 11));
 
 
def sudetis (pirmas, antras): return pirmas + antras
 
# Spausdiname [1..10] ir [21..30] sumas
print map (sudetis, range (1, 11), range (21, 31))

reduce()

def sudetis (pirmas, antras): return pirmas + antras

Skaičiuojame [1..10] skaitmenų sumą. reduce() funkcijai perduoda pirma ir antra elementa, tada - funkcijos rezultata ir trechia elementa, …

Trechiu reduce() parametru galima nurodyti, nuo kurio elemento pradeti (elemento reikshme)

print reduce (sudetis, range (1, 11))
# Ta pati darba atlieka ir sum()

Multidimensional

# Multidimensional ;-)
miestai = ['Vilnius', 'Kaunas', 'Klaipeda']
naujas = [0, miestai, 1]
print naujas	# [0, ['Vilnius', 'Kaunas', 'Klaipeda'], 1]
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information
 
Jei nenurodyta kitaip, šio wiki turinys ginamas tokia licencija: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki