[informatica] Python List afdrukken zonder brackets wel met quotes
Moderators: ArcherBarry, Fuzzwood
-
- Berichten: 1
[informatica] Python List afdrukken zonder brackets wel met quotes
Hallo allemaal,
Ik moet in Python een functie schrijven met één argument(List) van het type string,
deze functie zorgt ervoor dat de string gesorteerd wordt, dat is mij allemaal gelukt zoals u hieronder kunt zien, maar de uitvoer moet tussen aanhalingstekens (single quotes) maar wel zonder brackets.
Ik krijg de uitvoer maar niet tussen single quotes, iemand misschien een idee hoe ik dit kan oplossen?
Alvast bedankt,
Invoer:
def alfabet(arg):
a = arg.split()
a.sort()
a = print(*a)
return a
alfabet("Z V H B A")
Uitvoer: A B H V Z
Gewenste uitvoer: 'A B H V Z'
Ik moet in Python een functie schrijven met één argument(List) van het type string,
deze functie zorgt ervoor dat de string gesorteerd wordt, dat is mij allemaal gelukt zoals u hieronder kunt zien, maar de uitvoer moet tussen aanhalingstekens (single quotes) maar wel zonder brackets.
Ik krijg de uitvoer maar niet tussen single quotes, iemand misschien een idee hoe ik dit kan oplossen?
Alvast bedankt,
Invoer:
def alfabet(arg):
a = arg.split()
a.sort()
a = print(*a)
return a
alfabet("Z V H B A")
Uitvoer: A B H V Z
Gewenste uitvoer: 'A B H V Z'
- Moderator
- Berichten: 9.904
Re: Python List afdrukken zonder brackets wel met quotes
Bijvoorbeeld zo:
Code: Selecteer alles
def alfabet(arg):
a = arg.split()
a.sort()
print("'",end='')
a = print(*a,end="'")
return a
- Moderator
- Berichten: 9.904
Re: [informatica] Python List afdrukken zonder brackets wel met quotes
N.B.
"a=print(...)" heeft geen zin, print geeft geen antwoord en a wordt "None".
Daarmee is "return a" ook overbodig/zinloos.
De functie wordt dan
Wil je dat een volgend printopdracht op een nieuwe regel begint, dan wordt het
"a=print(...)" heeft geen zin, print geeft geen antwoord en a wordt "None".
Daarmee is "return a" ook overbodig/zinloos.
De functie wordt dan
Code: Selecteer alles
def alfabet(arg):
a = arg.split()
a.sort()
print("'",end='')
print(*a,end="'")
Code: Selecteer alles
def alfabet(arg):
a = arg.split()
a.sort()
print("'",end='')
print(*a,end="'\n")
-
- Berichten: 7.068
Re: [informatica] Python List afdrukken zonder brackets wel met quotes
Ik had naar aanleiding van de oorspronkelijke vraag het volgende bedacht:
Zoals te zien is, maak ik een kopie van de list. Dit doe ik om te voorkomen dat de oorspronkelijke input aangetast wordt. Weet iemand of er ook een directere methode is (in Python) om dit voor elkaar te krijgen?
Code: Selecteer alles
def sortedCopy(srcList):
result = srcList.copy()
result.sort()
return result
input = ['a', '6', 'zebra', 'appeltaart']
output = sortedCopy(input)
print(f'{input}'[1:-1])
print(f'{output}'[1:-1])
- Moderator
- Berichten: 9.904
Re: [informatica] Python List afdrukken zonder brackets wel met quotes
Ik weet niet of dit de bedoeling is, alle strings in de list staan nu tussen quotes en zijn gescheiden door komma's.
Maar zolang TS niet vertelt of het argument nu een list of een string is, is een antwoord lastig te geven.
Die manier van printen print(f'input... kende ik nog niet en werkte niet in mijn wat oudere Python versie 3.5.
In versie 3.9 lukte het wel.
Maar zolang TS niet vertelt of het argument nu een list of een string is, is een antwoord lastig te geven.
Die manier van printen print(f'input... kende ik nog niet en werkte niet in mijn wat oudere Python versie 3.5.
In versie 3.9 lukte het wel.
Zo'n methode ken ik niet.
-
- Technicus
- Berichten: 1.151
Re: [informatica] Python List afdrukken zonder brackets wel met quotes
Samysam heeft zijn vraag ook ergens anders geplaatst, en daar z'n antwoord gekregen. Ik denk niet dat we die nog terugzien.
https://gathering.tweakers.net/forum/li ... es/2096938
https://gathering.tweakers.net/forum/li ... es/2096938
-
- Technicus
- Berichten: 1.151
Re: [informatica] Python List afdrukken zonder brackets wel met quotes
gebruik sorted(<list>) om een gesorteerde copy te returnen:EvilBro schreef: ↑di 02 nov 2021, 08:20 Ik had naar aanleiding van de oorspronkelijke vraag het volgende bedacht:Zoals te zien is, maak ik een kopie van de list. Dit doe ik om te voorkomen dat de oorspronkelijke input aangetast wordt. Weet iemand of er ook een directere methode is (in Python) om dit voor elkaar te krijgen?Code: Selecteer alles
def sortedCopy(srcList): result = srcList.copy() result.sort() return result input = ['a', '6', 'zebra', 'appeltaart'] output = sortedCopy(input) print(f'{input}'[1:-1]) print(f'{output}'[1:-1])
gebruik <list>.sort() om de list inplace te sorteren.
Code: Selecteer alles
invoer = ['a', '6', 'zebra', 'appeltaart']
uitvoer = sorted(invoer)
print(f'{invoer}')
print(f'{uitvoer}')