<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:dc="http://purl.org/dc/elements/1.1/"
 xmlns:content="http://purl.org/rss/1.0/modules/content/"
 xmlns:atom="http://www.w3.org/2005/Atom"
>
	<channel>
		<copyright>Copyright 1998 - 2026 DPG Media B.V.</copyright>
		<pubDate>Thu, 23 Jul 2026 11:12:01 GMT</pubDate>
		<lastBuildDate>Thu, 23 Jul 2026 11:12:01 GMT</lastBuildDate>
		<description>GoT - list_messages</description>
		<image>
			<link>https://gathering.tweakers.net/</link>
			<title>Gathering of Tweakers</title>
			<url>https://tweakers.net/g/if/logo.gif</url>
		</image>
		<language>nl-nl</language>
		<link>https://gathering.tweakers.net/rss/list_messages/2165636</link>
		<atom:link href="https://gathering.tweakers.net/rss/list_messages/2165636" rel="self" type="application/rss+xml" />
		<title>Python &amp; geneste lijsten - Softwareontwikkeling - GoT</title>
		<webMaster>gathering@tweakers.net (Administrator)</webMaster>
		<item>
			<title>utopiaBe</title>
			<link>https://gathering.tweakers.net/forum/list_message/73966940#73966940</link>
			<description>Zo, en ik twijfelde nog om deze vraag initieel op het forum te gooien. Veel bijgeleerd, ook van de oplossingen die zaken gebruiken die ik nog niet zag (ondertussen ken ik die dan ook). Prachtig dit.

@eheijnen die jagged lists verken ik iig dieper. Met wat extra oefenen krijg ik dit wel onder de knie ;-). Door omstandigheden wat lessen moeten missen, maar uiteindelijk is het een kwestie van oefenen natuurlijk. Loopt ook vrij vlot, behalve deze dus...</description>
			<content:encoded><![CDATA[Zo, en ik twijfelde nog om deze vraag initieel op het forum te gooien. Veel bijgeleerd, ook van de oplossingen die zaken gebruiken die ik nog niet zag (ondertussen ken ik die dan ook). Prachtig dit.<br>
<br>
@<a href="https://tweakers.net/gallery/269054/">eheijnen</a> die jagged lists verken ik iig dieper. Met wat extra oefenen krijg ik dit wel onder de knie ;-). Door omstandigheden wat lessen moeten missen, maar uiteindelijk is het een kwestie van oefenen natuurlijk. Loopt ook vrij vlot, behalve deze dus...]]></content:encoded>
			<dc:creator>utopiaBe</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73966940#73966940</guid>
			<pubDate>Fri, 30 Dec 2022 15:28:15 GMT</pubDate>
		</item>
		<item>
			<title>MaNDaRK</title>
			<link>https://gathering.tweakers.net/forum/list_message/73966440#73966440</link>
			<description>Wolfboy schreef op vrijdag 30 december 2022 @ 11:58:
[...]
Die klopt alleen totaal niet 
Het gaat om de som van de getransponeerde versies van de sublijsten.Je hebt helemaal gelijk! Het gaat om alle &#039;nth&#039; nummers van de lijsten.

Dan heb ik hier een iets uitgebreidere versie, natuurlijk niet waterdicht als je lijst nullen bevat.
Python:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# orginele lijst
long_list = [[1, 2, 3], [4, 5], [6, 7, 8, 9], [10]]

# variabele voor de langste lijst:
longest = 0

# variabele voor de lijst lengte:
list_length = []

# variabele voor de resultaten:
result = []

# check welke sub_list het langste is:
for sub_list in long_list:
    if longest &lt; len(sub_list):
        longest = len(sub_list)

# longest heeft nu de langste lijst:
# print(longest)

# sub_list eventueel aanvullen:
for sub_list in long_list:
    if len(sub_list) &lt; longest:
        for _ in range(longest - len(sub_list)):
            sub_list.append(0)

# long_list heeft nu allemaal dezelfde lijst lengtes
# print(long_list)

# alles bij elkaar optellen:
for c in range(longest):
    temp = 0
    ll = 0
    for x in range(len(long_list)):
        # dit is natuurlijk niet waterdicht
        if long_list[x][c] != 0:
            ll += 1
        temp += long_list[x][c]
    
    # lijst lengte aanvullen:
    list_length.append(ll)
    
    # resultaat aanvullen:
    result.append(temp)

# berekenen resultaten:
for c in range(len(result)):
    result[c] = result[c] / list_length[c]

print(result)</description>
			<content:encoded><![CDATA[<blockquote><div class="message-quote-div"><b><a href="https://gathering.tweakers.net/forum/list_message/73963856#73963856" rel="external" class="messagelink">Wolfboy schreef op vrijdag 30 december 2022 @ 11:58</a>:</b><br>
[...]<br>
Die klopt alleen totaal niet <img src="https://tweakers.net/g/s/puh2.svg" width="16" height="16" alt=":P"><br>
Het gaat om de som van de getransponeerde versies van de sublijsten.</div></blockquote>Je hebt helemaal gelijk! Het gaat om alle &#039;<i>n</i>th&#039; nummers van de lijsten.<br>
<br>
Dan heb ik hier een iets uitgebreidere versie, natuurlijk niet waterdicht als je lijst nullen bevat.<br>
<div class="code">Python:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
</pre></td><td class="phphighlightcode"><div><pre><span class="code_c1"># orginele lijst</span>
<span class="code_n">long_list</span> <span class="code_o">=</span> <span class="code_p">[[</span><span class="code_mi">1</span><span class="code_p">,</span> <span class="code_mi">2</span><span class="code_p">,</span> <span class="code_mi">3</span><span class="code_p">],</span> <span class="code_p">[</span><span class="code_mi">4</span><span class="code_p">,</span> <span class="code_mi">5</span><span class="code_p">],</span> <span class="code_p">[</span><span class="code_mi">6</span><span class="code_p">,</span> <span class="code_mi">7</span><span class="code_p">,</span> <span class="code_mi">8</span><span class="code_p">,</span> <span class="code_mi">9</span><span class="code_p">],</span> <span class="code_p">[</span><span class="code_mi">10</span><span class="code_p">]]</span>

<span class="code_c1"># variabele voor de langste lijst:</span>
<span class="code_n">longest</span> <span class="code_o">=</span> <span class="code_mi">0</span>

<span class="code_c1"># variabele voor de lijst lengte:</span>
<span class="code_n">list_length</span> <span class="code_o">=</span> <span class="code_p">[]</span>

<span class="code_c1"># variabele voor de resultaten:</span>
<span class="code_n">result</span> <span class="code_o">=</span> <span class="code_p">[]</span>

<span class="code_c1"># check welke sub_list het langste is:</span>
<span class="code_k">for</span> <span class="code_n">sub_list</span> <span class="code_ow">in</span> <span class="code_n">long_list</span><span class="code_p">:</span>
    <span class="code_k">if</span> <span class="code_n">longest</span> <span class="code_o">&lt;</span> <span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">sub_list</span><span class="code_p">):</span>
        <span class="code_n">longest</span> <span class="code_o">=</span> <span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">sub_list</span><span class="code_p">)</span>

<span class="code_c1"># longest heeft nu de langste lijst:</span>
<span class="code_c1"># print(longest)</span>

<span class="code_c1"># sub_list eventueel aanvullen:</span>
<span class="code_k">for</span> <span class="code_n">sub_list</span> <span class="code_ow">in</span> <span class="code_n">long_list</span><span class="code_p">:</span>
    <span class="code_k">if</span> <span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">sub_list</span><span class="code_p">)</span> <span class="code_o">&lt;</span> <span class="code_n">longest</span><span class="code_p">:</span>
        <span class="code_k">for</span> <span class="code_n">_</span> <span class="code_ow">in</span> <span class="code_nb">range</span><span class="code_p">(</span><span class="code_n">longest</span> <span class="code_o">-</span> <span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">sub_list</span><span class="code_p">)):</span>
            <span class="code_n">sub_list</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_mi">0</span><span class="code_p">)</span>

<span class="code_c1"># long_list heeft nu allemaal dezelfde lijst lengtes</span>
<span class="code_c1"># print(long_list)</span>

<span class="code_c1"># alles bij elkaar optellen:</span>
<span class="code_k">for</span> <span class="code_n">c</span> <span class="code_ow">in</span> <span class="code_nb">range</span><span class="code_p">(</span><span class="code_n">longest</span><span class="code_p">):</span>
    <span class="code_n">temp</span> <span class="code_o">=</span> <span class="code_mi">0</span>
    <span class="code_n">ll</span> <span class="code_o">=</span> <span class="code_mi">0</span>
    <span class="code_k">for</span> <span class="code_n">x</span> <span class="code_ow">in</span> <span class="code_nb">range</span><span class="code_p">(</span><span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">long_list</span><span class="code_p">)):</span>
        <span class="code_c1"># dit is natuurlijk niet waterdicht</span>
        <span class="code_k">if</span> <span class="code_n">long_list</span><span class="code_p">[</span><span class="code_n">x</span><span class="code_p">][</span><span class="code_n">c</span><span class="code_p">]</span> <span class="code_o">!=</span> <span class="code_mi">0</span><span class="code_p">:</span>
            <span class="code_n">ll</span> <span class="code_o">+=</span> <span class="code_mi">1</span>
        <span class="code_n">temp</span> <span class="code_o">+=</span> <span class="code_n">long_list</span><span class="code_p">[</span><span class="code_n">x</span><span class="code_p">][</span><span class="code_n">c</span><span class="code_p">]</span>
    
    <span class="code_c1"># lijst lengte aanvullen:</span>
    <span class="code_n">list_length</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_n">ll</span><span class="code_p">)</span>
    
    <span class="code_c1"># resultaat aanvullen:</span>
    <span class="code_n">result</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_n">temp</span><span class="code_p">)</span>

<span class="code_c1"># berekenen resultaten:</span>
<span class="code_k">for</span> <span class="code_n">c</span> <span class="code_ow">in</span> <span class="code_nb">range</span><span class="code_p">(</span><span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">result</span><span class="code_p">)):</span>
    <span class="code_n">result</span><span class="code_p">[</span><span class="code_n">c</span><span class="code_p">]</span> <span class="code_o">=</span> <span class="code_n">result</span><span class="code_p">[</span><span class="code_n">c</span><span class="code_p">]</span> <span class="code_o">/</span> <span class="code_n">list_length</span><span class="code_p">[</span><span class="code_n">c</span><span class="code_p">]</span>

<span class="code_nb">print</span><span class="code_p">(</span><span class="code_n">result</span><span class="code_p">)</span></pre></div></td></tr></table></div>]]></content:encoded>
			<dc:creator>MaNDaRK</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73966440#73966440</guid>
			<pubDate>Fri, 30 Dec 2022 14:35:12 GMT</pubDate>
		</item>
		<item>
			<title>Ben(V)</title>
			<link>https://gathering.tweakers.net/forum/list_message/73965654#73965654</link>
			<description>Sorry mijn fout , dat krijg je als je te snel over de vraag heen leest.
Hier dan een compacte versie die wel goed is voor de fun

code:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from itertools import zip_longest

LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

# Compact
ListOfSums = [sum(ListToSum)/len(ListToSum) for ListToSum in [list(filter(None, transposed)) for transposed in zip_longest(*LongList)]] 
print(ListOfSums )

[# hetzelfde maar uitgesplitst
# eerst transponeer je de list of lists
transposed  = list(zip_longest(*LongList))
# Dat resulteerd in &quot;None&#039; waarden in de list, dus die moeten eruit, dat doe je met een filter
print (transposed)

# Dan halen we met een filter die &quot;None&quot; waarden eruit.
NoneRemoved = [list(filter(None, item)) for item in transposed]
print(NoneRemoved )

# En tenslotte maken we met sum() en len() een list van de gewesnte waarden
ListOfSums  = [sum(ListToSum)/len(ListToSum) for ListToSum in NoneRemoved]
print(ListOfSums)</description>
			<content:encoded><![CDATA[Sorry mijn fout , dat krijg je als je te snel over de vraag heen leest.<br>
Hier dan een compacte versie die wel goed is voor de fun<br>
<br>
<div class="code">code:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="phphighlightcode"><div><pre>from itertools import zip_longest

LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

# Compact
ListOfSums = [sum(ListToSum)/len(ListToSum) for ListToSum in [list(filter(None, transposed)) for transposed in zip_longest(*LongList)]] 
print(ListOfSums )

[# hetzelfde maar uitgesplitst
# eerst transponeer je de list of lists
transposed  = list(zip_longest(*LongList))
# Dat resulteerd in &quot;None&#39; waarden in de list, dus die moeten eruit, dat doe je met een filter
print (transposed)

# Dan halen we met een filter die &quot;None&quot; waarden eruit.
NoneRemoved = [list(filter(None, item)) for item in transposed]
print(NoneRemoved )

# En tenslotte maken we met sum() en len() een list van de gewesnte waarden
ListOfSums  = [sum(ListToSum)/len(ListToSum) for ListToSum in NoneRemoved]
print(ListOfSums)</pre></div></td></tr></table></div>]]></content:encoded>
			<dc:creator>Ben(V)</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73965654#73965654</guid>
			<pubDate>Fri, 30 Dec 2022 13:28:37 GMT</pubDate>
		</item>
		<item>
			<title>eheijnen</title>
			<link>https://gathering.tweakers.net/forum/list_message/73965478#73965478</link>
			<description>Als je nog wat tijd over hebt dit weekend...een beetje leesvoer over &quot;jagged arrays&quot;.
Wikipedia: Jagged array</description>
			<content:encoded><![CDATA[Als je nog wat tijd over hebt dit weekend...een beetje leesvoer over &quot;jagged arrays&quot;.<br>
<a href="https://en.wikipedia.org/wiki/Jagged_array" rel="external nofollow">Wikipedia: Jagged array</a>]]></content:encoded>
			<dc:creator>eheijnen</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73965478#73965478</guid>
			<pubDate>Fri, 30 Dec 2022 13:14:30 GMT</pubDate>
		</item>
		<item>
			<title>utopiaBe</title>
			<link>https://gathering.tweakers.net/forum/list_message/73964644#73964644</link>
			<description>@Wolfboy: dankjewel! Dit verheldert inderdaad een hoop. Ook de 2 uitwerkingen naast mekaar... 
Was duidelijk weer te ver aan het zoeken. Enumerate &amp; zip was effectief nog niet gezien, maar kan me daar nu geen issue bij voorstellen. Bedoeling was vooral dat we geen collections, numpy, pandas,... gingen gebruiken.

@Ben(V) : thanks. Een esthetische oplossing, maar zoals hierboven gezegd neem je dan het gemiddelde van de lijsten (wat het probleem een stuk eenvoudiger maakt natuurlijk). Dat was waar ik wat op vast liep, aangezien deze sublists niet van gelijke lengte waren.</description>
			<content:encoded><![CDATA[@Wolfboy: dankjewel! Dit verheldert inderdaad een hoop. Ook de 2 uitwerkingen naast mekaar... <br>
Was duidelijk weer te ver aan het zoeken. Enumerate &amp; zip was effectief nog niet gezien, maar kan me daar nu geen issue bij voorstellen. Bedoeling was vooral dat we geen collections, numpy, pandas,... gingen gebruiken.<br>
<br>
@<a href="https://tweakers.net/gallery/565926/">Ben(V)</a> : thanks. Een esthetische oplossing, maar zoals hierboven gezegd neem je dan het gemiddelde van de lijsten (wat het probleem een stuk eenvoudiger maakt natuurlijk). Dat was waar ik wat op vast liep, aangezien deze sublists niet van gelijke lengte waren.]]></content:encoded>
			<dc:creator>utopiaBe</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73964644#73964644</guid>
			<pubDate>Fri, 30 Dec 2022 12:14:03 GMT</pubDate>
		</item>
		<item>
			<title>Wolfboy</title>
			<link>https://gathering.tweakers.net/forum/list_message/73963856#73963856</link>
			<description>Ben(V) schreef op vrijdag 30 december 2022 @ 09:42:
Waarom zo ingewikkeld, python heeft daar de functies sum() en len() voor.
Zoiets dus:

code:1
2
3
4
LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

for Sublist in LongList:
    print(sum(Sublist)/len(Sublist))Die klopt alleen totaal niet 
Het gaat om de som van de getransponeerde versies van de sublijsten.</description>
			<content:encoded><![CDATA[<blockquote><div class="message-quote-div"><b><a href="https://gathering.tweakers.net/forum/list_message/73962226#73962226" rel="external" class="messagelink">Ben(V) schreef op vrijdag 30 december 2022 @ 09:42</a>:</b><br>
Waarom zo ingewikkeld, python heeft daar de functies sum() en len() voor.<br>
Zoiets dus:<br>
<br>
<div class="code">code:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
</pre></td><td class="phphighlightcode"><div><pre>LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

for Sublist in LongList:
    print(sum(Sublist)/len(Sublist))</pre></div></td></tr></table></div></div></blockquote>Die klopt alleen totaal niet <img src="https://tweakers.net/g/s/puh2.svg" width="16" height="16" alt=":P"><br>
Het gaat om de som van de getransponeerde versies van de sublijsten.]]></content:encoded>
			<dc:creator>Wolfboy</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73963856#73963856</guid>
			<pubDate>Fri, 30 Dec 2022 10:58:16 GMT</pubDate>
		</item>
		<item>
			<title>eheijnen</title>
			<link>https://gathering.tweakers.net/forum/list_message/73963824#73963824</link>
			<description>@Ben(V), @MaNDaRK 
Vind de uitleg van @Wolfboy eigenlijk juist goed en helemaal niet overbodig.

Kan TS eens zien hoe en waarom het werkt. En deze uitleg kan in andere scenarios nog wel eens van pas komen...

En snapt hij ook meteen hoe de SUM functie werkt die BenV demonstreert. 
Ook een een goed voorbeeld trouwens om te laten zien hoe het compacter kan in dit geval.</description>
			<content:encoded><![CDATA[@<a href="https://tweakers.net/gallery/565926/">Ben(V)</a>, @<a href="https://tweakers.net/gallery/37154/">MaNDaRK</a> <br>
Vind de uitleg van @<a href="https://tweakers.net/gallery/18996/">Wolfboy</a> eigenlijk juist goed en helemaal niet overbodig.<br>
<br>
Kan TS eens zien hoe en waarom het werkt. En deze uitleg kan in andere scenarios nog wel eens van pas komen...<br>
<br>
En snapt hij ook meteen hoe de SUM functie werkt die BenV demonstreert. <br>
Ook een een goed voorbeeld trouwens om te laten zien hoe het compacter kan in dit geval.]]></content:encoded>
			<dc:creator>eheijnen</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73963824#73963824</guid>
			<pubDate>Fri, 30 Dec 2022 10:55:34 GMT</pubDate>
		</item>
		<item>
			<title>MaNDaRK</title>
			<link>https://gathering.tweakers.net/forum/list_message/73962944#73962944</link>
			<description>[quote]Ben(V) schreef op vrijdag 30 december 2022 @ 09:42:
Waarom zo ingewikkeld, python heeft daar de functies sum() en len() voor.
Zoiets dus:

[code]
LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

for Sublist in LongList:
    print(sum(Sublist)/len(Sublist))
[/code]
[/quote]
Dit is inderdaad een mooie oplossing.

Of moet de ts alles zelf uitrekenen met geneste loops? beter lezen.</description>
			<content:encoded><![CDATA[<span style="text-decoration:line-through">[quote]<b><a href="https://gathering.tweakers.net/forum/list_message/73962226#73962226" rel="external" class="messagelink">Ben(V) schreef op vrijdag 30 december 2022 @ 09:42</a>:</b><br>
Waarom zo ingewikkeld, python heeft daar de functies sum() en len() voor.<br>
Zoiets dus:<br>
<br>
[code]<br>
LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]<br>
<br>
for Sublist in LongList:<br>
    print(sum(Sublist)/len(Sublist))<br>
[/code]<br>
[/quote]<br>
Dit is inderdaad een mooie oplossing.<br>
<br>
Of moet de ts alles zelf uitrekenen met geneste loops?</span> beter lezen.]]></content:encoded>
			<dc:creator>MaNDaRK</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73962944#73962944</guid>
			<pubDate>Fri, 30 Dec 2022 09:52:08 GMT</pubDate>
		</item>
		<item>
			<title>Ben(V)</title>
			<link>https://gathering.tweakers.net/forum/list_message/73962226#73962226</link>
			<description>Waarom zo ingewikkeld, python heeft daar de functies sum() en len() voor.
Zoiets dus:

code:1
2
3
4
LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

for Sublist in LongList:
    print(sum(Sublist)/len(Sublist))</description>
			<content:encoded><![CDATA[Waarom zo ingewikkeld, python heeft daar de functies sum() en len() voor.<br>
Zoiets dus:<br>
<br>
<div class="code">code:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
</pre></td><td class="phphighlightcode"><div><pre>LongList = [[1,2,3],[4,5],[6,7,8,9],[10]]

for Sublist in LongList:
    print(sum(Sublist)/len(Sublist))</pre></div></td></tr></table></div>]]></content:encoded>
			<dc:creator>Ben(V)</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73962226#73962226</guid>
			<pubDate>Fri, 30 Dec 2022 08:42:59 GMT</pubDate>
		</item>
		<item>
			<title>Wolfboy</title>
			<link>https://gathering.tweakers.net/forum/list_message/73961360#73961360</link>
			<description>Ik neem aan dat je nog geen libraries zoals collections enzo behandeld hebt dus we gaan het even zo eenvoudig mogelijk maken 

Door iets meer in de loop te doen hoef je niet eerst de langste sublijst te vinden:
Python:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def listAvgs(lst):
    # Verzamel de totale som en de lengtes in deze lijsten
    totals = []
    lengths = []

    for sublist in lst:
        # Loop door de sublijst met een counter. Als je `enumerate` niet mag
        # gebruiken dan kan je ook gewoon een `i += 1` in de loop zetten
        for i, value in enumerate(sublist):
            # Als we nog geen lijst van lengte `i` gehad hebben
            if i &gt;= len(totals):
                totals.append(0)
                lengths.append(0)

            totals[i] += value
            lengths[i] += 1

    # Bereken het gemiddelde voor alle getallen
    results = []
    for total, length in zip(totals, lengths):
        results.append(total / length)

    return results

print(listAvgs([[1,2,3],[4,5],[6,7,8,9],[10]]))

Maar we kunnen het natuurlijk ook omgekeerd doen door eerst door de sublijsten heen te lopen:
Python:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
def listAvgs(lst):
    # Maak een lijst voor de resultaten
    results = []

    # Loop van 0 tot we geen langere lijsten meer kunnen vinden
    i = 0
    while True:
        total = 0
        count = 0

        for sublist in lst:
            # Als de lijst lang genoeg is, voeg het getal dan toe aan `total`
            if len(sublist) &gt; i:
                total += sublist[i]
                count += 1

        # Als er waarden zijn, voeg ze dan toe aan de resultaten. Als die er
        # niet zijn dan moeten we uit de loop springen zodat we niet oneindig
        # loopen.
        if count:
            results.append(total / count)
        else:
            break

        i += 1

    return results

print(listAvgs([[1,2,3],[4,5],[6,7,8,9],[10]]))</description>
			<content:encoded><![CDATA[Ik neem aan dat je nog geen libraries zoals collections enzo behandeld hebt dus we gaan het even zo eenvoudig mogelijk maken <img src="https://tweakers.net/g/s/smile.svg" width="16" height="16" alt=":)"><br>
<br>
Door iets meer in de loop te doen hoef je niet eerst de langste sublijst te vinden:<br>
<div class="code">Python:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="phphighlightcode"><div><pre><span class="code_k">def</span> <span class="code_nf">listAvgs</span><span class="code_p">(</span><span class="code_n">lst</span><span class="code_p">):</span>
    <span class="code_c1"># Verzamel de totale som en de lengtes in deze lijsten</span>
    <span class="code_n">totals</span> <span class="code_o">=</span> <span class="code_p">[]</span>
    <span class="code_n">lengths</span> <span class="code_o">=</span> <span class="code_p">[]</span>

    <span class="code_k">for</span> <span class="code_n">sublist</span> <span class="code_ow">in</span> <span class="code_n">lst</span><span class="code_p">:</span>
        <span class="code_c1"># Loop door de sublijst met een counter. Als je `enumerate` niet mag</span>
        <span class="code_c1"># gebruiken dan kan je ook gewoon een `i += 1` in de loop zetten</span>
        <span class="code_k">for</span> <span class="code_n">i</span><span class="code_p">,</span> <span class="code_n">value</span> <span class="code_ow">in</span> <span class="code_nb">enumerate</span><span class="code_p">(</span><span class="code_n">sublist</span><span class="code_p">):</span>
            <span class="code_c1"># Als we nog geen lijst van lengte `i` gehad hebben</span>
            <span class="code_k">if</span> <span class="code_n">i</span> <span class="code_o">&gt;=</span> <span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">totals</span><span class="code_p">):</span>
                <span class="code_n">totals</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_mi">0</span><span class="code_p">)</span>
                <span class="code_n">lengths</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_mi">0</span><span class="code_p">)</span>

            <span class="code_n">totals</span><span class="code_p">[</span><span class="code_n">i</span><span class="code_p">]</span> <span class="code_o">+=</span> <span class="code_n">value</span>
            <span class="code_n">lengths</span><span class="code_p">[</span><span class="code_n">i</span><span class="code_p">]</span> <span class="code_o">+=</span> <span class="code_mi">1</span>

    <span class="code_c1"># Bereken het gemiddelde voor alle getallen</span>
    <span class="code_n">results</span> <span class="code_o">=</span> <span class="code_p">[]</span>
    <span class="code_k">for</span> <span class="code_n">total</span><span class="code_p">,</span> <span class="code_n">length</span> <span class="code_ow">in</span> <span class="code_nb">zip</span><span class="code_p">(</span><span class="code_n">totals</span><span class="code_p">,</span> <span class="code_n">lengths</span><span class="code_p">):</span>
        <span class="code_n">results</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_n">total</span> <span class="code_o">/</span> <span class="code_n">length</span><span class="code_p">)</span>

    <span class="code_k">return</span> <span class="code_n">results</span>

<span class="code_nb">print</span><span class="code_p">(</span><span class="code_n">listAvgs</span><span class="code_p">([[</span><span class="code_mi">1</span><span class="code_p">,</span><span class="code_mi">2</span><span class="code_p">,</span><span class="code_mi">3</span><span class="code_p">],[</span><span class="code_mi">4</span><span class="code_p">,</span><span class="code_mi">5</span><span class="code_p">],[</span><span class="code_mi">6</span><span class="code_p">,</span><span class="code_mi">7</span><span class="code_p">,</span><span class="code_mi">8</span><span class="code_p">,</span><span class="code_mi">9</span><span class="code_p">],[</span><span class="code_mi">10</span><span class="code_p">]]))</span></pre></div></td></tr></table></div><br>
<br>
Maar we kunnen het natuurlijk ook omgekeerd doen door eerst door de sublijsten heen te lopen:<br>
<div class="code">Python:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td class="phphighlightcode"><div><pre><span class="code_k">def</span> <span class="code_nf">listAvgs</span><span class="code_p">(</span><span class="code_n">lst</span><span class="code_p">):</span>
    <span class="code_c1"># Maak een lijst voor de resultaten</span>
    <span class="code_n">results</span> <span class="code_o">=</span> <span class="code_p">[]</span>

    <span class="code_c1"># Loop van 0 tot we geen langere lijsten meer kunnen vinden</span>
    <span class="code_n">i</span> <span class="code_o">=</span> <span class="code_mi">0</span>
    <span class="code_k">while</span> <span class="code_kc">True</span><span class="code_p">:</span>
        <span class="code_n">total</span> <span class="code_o">=</span> <span class="code_mi">0</span>
        <span class="code_n">count</span> <span class="code_o">=</span> <span class="code_mi">0</span>

        <span class="code_k">for</span> <span class="code_n">sublist</span> <span class="code_ow">in</span> <span class="code_n">lst</span><span class="code_p">:</span>
            <span class="code_c1"># Als de lijst lang genoeg is, voeg het getal dan toe aan `total`</span>
            <span class="code_k">if</span> <span class="code_nb">len</span><span class="code_p">(</span><span class="code_n">sublist</span><span class="code_p">)</span> <span class="code_o">&gt;</span> <span class="code_n">i</span><span class="code_p">:</span>
                <span class="code_n">total</span> <span class="code_o">+=</span> <span class="code_n">sublist</span><span class="code_p">[</span><span class="code_n">i</span><span class="code_p">]</span>
                <span class="code_n">count</span> <span class="code_o">+=</span> <span class="code_mi">1</span>

        <span class="code_c1"># Als er waarden zijn, voeg ze dan toe aan de resultaten. Als die er</span>
        <span class="code_c1"># niet zijn dan moeten we uit de loop springen zodat we niet oneindig</span>
        <span class="code_c1"># loopen.</span>
        <span class="code_k">if</span> <span class="code_n">count</span><span class="code_p">:</span>
            <span class="code_n">results</span><span class="code_o">.</span><span class="code_n">append</span><span class="code_p">(</span><span class="code_n">total</span> <span class="code_o">/</span> <span class="code_n">count</span><span class="code_p">)</span>
        <span class="code_k">else</span><span class="code_p">:</span>
            <span class="code_k">break</span>

        <span class="code_n">i</span> <span class="code_o">+=</span> <span class="code_mi">1</span>

    <span class="code_k">return</span> <span class="code_n">results</span>

<span class="code_nb">print</span><span class="code_p">(</span><span class="code_n">listAvgs</span><span class="code_p">([[</span><span class="code_mi">1</span><span class="code_p">,</span><span class="code_mi">2</span><span class="code_p">,</span><span class="code_mi">3</span><span class="code_p">],[</span><span class="code_mi">4</span><span class="code_p">,</span><span class="code_mi">5</span><span class="code_p">],[</span><span class="code_mi">6</span><span class="code_p">,</span><span class="code_mi">7</span><span class="code_p">,</span><span class="code_mi">8</span><span class="code_p">,</span><span class="code_mi">9</span><span class="code_p">],[</span><span class="code_mi">10</span><span class="code_p">]]))</span></pre></div></td></tr></table></div>]]></content:encoded>
			<dc:creator>Wolfboy</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73961360#73961360</guid>
			<pubDate>Fri, 30 Dec 2022 05:25:53 GMT</pubDate>
		</item>
		<item>
			<title>utopiaBe</title>
			<link>https://gathering.tweakers.net/forum/list_message/73961324#73961324</link>
			<description>Nee, is echt nog de basis. Exceptions dus nog niet gezien. Eigenlijk enkel de basisbewerkingen, functies, lijsten, tuples, strings &amp; sets (geen numpy, zip, etc. dus). Het is net dat wat het geheel wat complexer maakt dan nodig... Vandaar ook dat ik aan dat aanvullen dacht. Loop je natuurlijk nog steeds aan tegen het feit dat je de lengte van de rijen niet zonder meer kan opvragen.

Wellicht is er dus een erg eenvoudige oplossing en zit ik me gewoon blind te staren op &#039;wat ik wel zou kunnen toepassen, maar niet mag&#039;.</description>
			<content:encoded><![CDATA[Nee, is echt nog de basis. Exceptions dus nog niet gezien. Eigenlijk enkel de basisbewerkingen, functies, lijsten, tuples, strings &amp; sets (geen numpy, zip, etc. dus). Het is net dat wat het geheel wat complexer maakt dan nodig... Vandaar ook dat ik aan dat aanvullen dacht. Loop je natuurlijk nog steeds aan tegen het feit dat je de lengte van de rijen niet zonder meer kan opvragen.<br>
<br>
Wellicht is er dus een erg eenvoudige oplossing en zit ik me gewoon blind te staren op &#039;wat ik wel zou kunnen toepassen, maar niet mag&#039;.]]></content:encoded>
			<dc:creator>utopiaBe</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73961324#73961324</guid>
			<pubDate>Fri, 30 Dec 2022 04:10:27 GMT</pubDate>
		</item>
		<item>
			<title>thlst</title>
			<link>https://gathering.tweakers.net/forum/list_message/73961318#73961318</link>
			<description>Aanvullen lijkt me geen goed idee.

Waarschijnlijk wil je bij deze opdracht Exceptions gebruiken. Zijn deze al behandeld?</description>
			<content:encoded><![CDATA[Aanvullen lijkt me geen goed idee.<br>
<br>
Waarschijnlijk wil je bij deze opdracht Exceptions gebruiken. Zijn deze al behandeld?]]></content:encoded>
			<dc:creator>thlst</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73961318#73961318</guid>
			<pubDate>Fri, 30 Dec 2022 03:52:12 GMT</pubDate>
		</item>
		<item>
			<title>utopiaBe</title>
			<link>https://gathering.tweakers.net/forum/list_message/73961308#73961308</link>
			<description>Mijn vraag
Ik ben grandioos de mist aan het ingaan met geneste lijsten en als beginner kom ik er niet uit.

Wat ik zou moeten bekomen is het gemiddelde van het j-de element uit de sublijsten (die niet even lang moeten zijn.

listAvgs([[1,2,3],[4,5],[6,7,8,9],[10]]) zou dan het resultaat van [(1+4+6+10)/4, (2+5+7)/3, (3+8)/2, 9/1] moeten geven, of [5.25,4.67,5.5,9.0]

Ik zit me echter blind te staren op wat ik heb en kan er maar niet doorheen kijken. Mijn opzet was:
1) sla de lengtes van elke rij op in lijst
2) vul vervolgens elke kolom aan met 0 waar niks staat (neutraal element kan dan mee in som)
3) nu kan je de som nemen over elke rij en dit opslaan in een lijst
4) loop over som en lengtes om tot je gemiddelden te komen

So far, so good... ware het niet dat ik op 1 vastloop. De lengte van de kolommen is niet complex, ik zie echter niet hoe je die van de rijen kan bekomen.

Transpose zou een noodoplossing zijn, ware het niet dat numpy in de hele cursus niet aan bod komt en dit dus zeker niet de bedoeling is. Dit is overigens geen taak. Ik probeer me door wat oefeningen te worstelen voor een aankomend examen.
...

Relevante software en hardware die ik gebruik:
Python 3.10.5 in Wing
...

Wat ik al gevonden of geprobeerd heb:

code:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
def listAvgs(lst):
    longest = longestSublist(lst) #deze functie geeft de lengte van de langste sublijst weer
    lengths = []
    sums = []
    total = 0
    #selecteer lengte voor alle RIJEN (nu dus kolommen)
    for row in lst:
        lengths.append(len(row))
    #Wanneer rijen niet zo lang zijn als langste sublijst -&gt; vul aan met neutraal element voor som
    for i in range(0,len(lst)):
        while len(lst[i])&lt;longest:
            lst[i].append(0)
    #Neem som van i-de element in rij 
    for i in range(0,len(lst)):
        for j in range(0,longest):
            total += lst[j][i]
        sums.append(total)
        total = 0
    print(&#039;sums: &#039;, sums)
    print(&#039;lengths: &#039;, lengths)
    for i in range(0,len(lengths)):
        sums[i] = sums[i]/lengths[i]
    return sums

print(listAvgs([[1,2,3],[4,5],[6,7,8,9],[10]]))
...</description>
			<content:encoded><![CDATA[Mijn vraag<br>
Ik ben grandioos de mist aan het ingaan met geneste lijsten en als beginner kom ik er niet uit.<br>
<br>
Wat ik zou moeten bekomen is het gemiddelde van het j-de element uit de sublijsten (die niet even lang moeten zijn.<br>
<br>
listAvgs([[1,2,3],[4,5],[6,7,8,9],[10]]) zou dan het resultaat van [(1+4+6+10)/4, (2+5+7)/3, (3+8)/2, 9/1] moeten geven, of [5.25,4.67,5.5,9.0]<br>
<br>
Ik zit me echter blind te staren op wat ik heb en kan er maar niet doorheen kijken. Mijn opzet was:<br>
1) sla de lengtes van elke rij op in lijst<br>
2) vul vervolgens elke kolom aan met 0 waar niks staat (neutraal element kan dan mee in som)<br>
3) nu kan je de som nemen over elke rij en dit opslaan in een lijst<br>
4) loop over som en lengtes om tot je gemiddelden te komen<br>
<br>
So far, so good... ware het niet dat ik op 1 vastloop. De lengte van de kolommen is niet complex, ik zie echter niet hoe je die van de rijen kan bekomen.<br>
<br>
Transpose zou een noodoplossing zijn, ware het niet dat numpy in de hele cursus niet aan bod komt en dit dus zeker niet de bedoeling is. Dit is overigens geen taak. Ik probeer me door wat oefeningen te worstelen voor een aankomend examen.<br>
...<br>
<br>
Relevante software en hardware die ik gebruik:<br>
Python 3.10.5 in Wing<br>
...<br>
<br>
Wat ik al gevonden of geprobeerd heb:<br>
<br>
<div class="code">code:<br><table class="phphighlight"><tr><td class="phphighlightline"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="phphighlightcode"><div><pre>def listAvgs(lst):
    longest = longestSublist(lst) #deze functie geeft de lengte van de langste sublijst weer
    lengths = []
    sums = []
    total = 0
    #selecteer lengte voor alle RIJEN (nu dus kolommen)
    for row in lst:
        lengths.append(len(row))
    #Wanneer rijen niet zo lang zijn als langste sublijst -&gt; vul aan met neutraal element voor som
    for i in range(0,len(lst)):
        while len(lst[i])&lt;longest:
            lst[i].append(0)
    #Neem som van i-de element in rij 
    for i in range(0,len(lst)):
        for j in range(0,longest):
            total += lst[j][i]
        sums.append(total)
        total = 0
    print(&#39;sums: &#39;, sums)
    print(&#39;lengths: &#39;, lengths)
    for i in range(0,len(lengths)):
        sums[i] = sums[i]/lengths[i]
    return sums

print(listAvgs([[1,2,3],[4,5],[6,7,8,9],[10]]))</pre></div></td></tr></table></div><br>
...]]></content:encoded>
			<dc:creator>utopiaBe</dc:creator>
			<guid isPermaLink="false">https://gathering.tweakers.net/forum/list_message/73961308#73961308</guid>
			<pubDate>Fri, 30 Dec 2022 03:34:10 GMT</pubDate>
		</item>
	</channel>
</rss>