Kezdőoldal » Számítástechnika » Programozás » Kétdimenziós listában hogyan...

Kétdimenziós listában hogyan tudom fésülni pythonban úgy hogy töröljen elemeket? lent írom részletesebben.

Figyelt kérdés

Készíts egy programot, amely egy kétdimenziós listában tárol ötször három darab véletlenszámot [-5;5] intervallumon. A program írja ki a kétdimenziós lista elemeit, majd fésülje át a lista tartalmát és törölje belőle a negatív számokat. Végül ismét kerüljön kiírásra lista tartalma!


ezt írtam rá,az eleje sem sikerült szerintem túl jól de az müködik viszont a törlés az nem. Indexelés nélkül csak a remove parancsot találtam viszont az nem törli mindegyiket.

lista4=[]

lista3=[]

lista2=[]

lista1=[]

import random

lista=[]

lista.append(lista1)

lista.append(lista2)

lista.append(lista3)

lista.append(lista4)

for i in range(3):

lista1.append(random.randint(-25,25))

lista2.append(random.randint(-25,25))

lista3.append(random.randint(-25,25))

lista4.append(random.randint(-25,5))

print(lista)

halmaz=-1

for szám in lista:

db=-1

halmaz+=1

for sz in szám:

db+=1

if 0>sz:

print(halmaz,db)

lista[halmaz].pop(db)

print(lista)


2023. márc. 16. 23:35
 1/4 anonim ***** válasza:

A lista feltöltése megoldható két egymásba ágyazott ciklussal:

[link]


A kírás - ha nem szükséges a "formázott" megjelenítés - megoldható print() segítségével:

print(lista)


A törlés többféle módon vitelezhető ki.


Megoldható a feltöltés analógiájaként:

[link]

(itt az ujlista változó tartalmazza a negatív számokat nélkülöző listát)


Kivitelezhető list comprehension:

[link]

segítségével:

lista = [[elem for elem in sor if elem >= 0] for sor in lista]


Vagy megoldható a funkcionális programozás beépített függvényeivel

[link]

például:

[link]

2023. márc. 17. 01:29
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
0%

Az külön nagyon jó, hogy tömbözni/listázni kell, de azért egyesével tárolod a belső tömböket.

Sikerült megérteni a feladatot, az a lényeg.

2023. márc. 17. 09:53
Hasznos számodra ez a válasz?
 3/4 anonim ***** válasza:

"A törlés többféle módon vitelezhető ki."


Valójában nem törlés amiket bemutattál. Azok mindegyike új listát hoz létre.


Így például, ha létezik lista-nak legalább egy eleme, ezen elem szintén egy lista, akkor a :

l=lista[0]

értétékadó utasítás hatására l változó és lista[0] ugyanarra a lista típusú objektumra mutat.

Ha elvégezzük az általad bemutatott "törlés" bármelyikét és lista[0] :

- "törlés" előtt tartalmazott negatív értéket l és lista[0] által elért objektum tartalma különbözni fog

- "törlés" előtt nem tartalmazott negatív értéket l és lista[0] által elért objektum tartalma egyezni fog, de két külön lista objektumra mutatnak.


Ez valóban töröl (hurok ismétléses vezérlési szerkezettel):

[link]

2023. márc. 17. 22:48
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:

köszi szépen,egy pár órát törtem rajta a fejem :D

új listához való hozzáadás jelentősen egyszerűbb viszont ez egy gyakorló feladat amiben az szerepel hogy töröljem a meglévő listából és érdekelt ennek a megoldása.

Köszönöm,hasznos volt mind a kettő válasz!

2023. márc. 20. 18:39

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!