8 svar
142 visningar
Sami 55 – Fd. Medlem
Postad: 1 dec 2020 23:25

lista i lista

har genom en kod nu skapat en list som består av olika listor, typ såhär [[1,2,3],[4,5,6],[7,89]] och jag vill nu att varje dellista skall bli en egen lista, har försökt ett tag nu men kommer ingenstans.. ngn som har tips?

Lindehaven 820 – Lärare
Postad: 2 dec 2020 00:37

Exempel:

a = [[1,2,3],[4,5,6],[7,89]]
b = a[0]
c = a[1]
d = a[2]
print(b, c, d)
Sami 55 – Fd. Medlem
Postad: 2 dec 2020 01:03

Aa precis det är kag med på men tänker typ en function som returnerar allt som listor 

Lindehaven 820 – Lärare
Postad: 2 dec 2020 08:52 Redigerad: 2 dec 2020 08:52

Visa med programkod vad det är du vill göra och hur du har försökt.

Sami 55 – Fd. Medlem
Postad: 2 dec 2020 09:51

har följande fil:

1 2 3

4 5 6

7 8 9.

vill göra en separat lista för rad men istället får jag detta: 
[[1,2,3],[,4,5,6],[7,8,9]], vilket jag inte tänkte .

jag vill ha följande output:

[1,2,3]

[4,5,6]

[7,8,9]

min kod


def conv(f):
with open(f,'r') as textfil:

lis=[]

for lines in textfil:
seperated=lines.split()
lis.append(seperated)

return lis

print(conv('text'))

Laguna Online 30472
Postad: 2 dec 2020 10:39

Du får iterera över resultatet:

for item in conv('text'):
   print(item)

Lindehaven 820 – Lärare
Postad: 2 dec 2020 10:55
Laguna skrev:

Du får iterera över resultatet:

for item in conv('text'):
   print(item)

Ja , och då kan du lägga den utskriften i en funktion som du ville. Men då "returnerar" den funktionen listorna som en utskrift, inte med return.

def print_elements(lis):
    for e in lis:
        print(e)

print_elements(conv('text'))
Aerius 504 – Fd. Medlem
Postad: 2 dec 2020 14:55

Aha. Du kan använda paketet numpy. Då får du den utskriften direkt.

Lindehaven 820 – Lärare
Postad: 2 dec 2020 18:18

Eller pprint.

Svara
Close