Python Join List

Python join lijst betekent het concatenaten van een lijst van strings met een gespecificeerde scheidingsteken om een string te vormen. Soms is het handig wanneer je een lijst naar een string moet converteren. Bijvoorbeeld, converteer een lijst van letters naar een door komma’s gescheiden string om op te slaan in een bestand.

Python Join Lijst

We kunnen de join() functie van python string gebruiken om een lijst van strings samen te voegen. Deze functie neemt een iterable als argument en een lijst is een iterable, dus we kunnen het met een lijst gebruiken. Ook moet de lijst strings bevatten, als je probeert om een lijst van integers samen te voegen, krijg je een foutmelding zoals TypeError: sequence item 0: expected str instance, int found. Laten we naar een kort voorbeeld kijken van het samenvoegen van een lijst in python om een string te maken.

vowels = ["a", "e", "i", "o", "u"]

vowelsCSV = ",".join(vowels)

print("Vowels are = ", vowelsCSV)

Als we het bovenstaande programma uitvoeren, krijgen we de volgende output.

Vowels are =  a,e,i,o,u

Python voegt twee strings samen

We kunnen de join() functie ook gebruiken om twee strings samen te voegen.

message = "Hello ".join("World")

print(message) #prints 'Hello World'

Waarom is de join() functie in String en niet in List?

Een vraag die bij veel Python-ontwikkelaars opkomt, is waarom de join() functie deel uitmaakt van String en niet van list. Zou onderstaande syntaxis niet gemakkelijker te onthouden en te gebruiken zijn?

vowelsCSV = vowels.join(",")

Er is een populaire StackOverflow-vraag over dit onderwerp, hier zet ik de belangrijkste punten uit de discussies op een rij die voor mij helemaal logisch zijn.

De belangrijkste reden is dat de join() functie kan worden gebruikt met elke iterable en het resultaat altijd een String is. Daarom is het logisch om deze functie in de String API te hebben in plaats van in alle iterable-klassen.

Lijst van meerdere gegevenstypen samenvoegen

Laten we eens kijken naar een programma waarbij we proberen lijstitems samen te voegen met meerdere gegevenstypen.

names = ['Java', 'Python', 1]
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

Laten we de uitvoer van dit programma bekijken: Dit was slechts een demonstratie dat een lijst die meerdere gegevenstypen bevat, niet in één string kan worden gecombineerd met de join()-functie. De lijst moet alleen de tekenreekswaarden bevatten.

String splitsen met de join-functie

We kunnen ook de join()-functie gebruiken om een string te splitsen met een opgegeven scheidingsteken.

names = 'Python'
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

Dit toont aan dat wanneer een tekenreeks als argument aan de join()-functie wordt doorgegeven, deze wordt gesplitst op karakterniveau en met het opgegeven scheidingsteken.

Gebruik van de split()-functie

Naast het splitsen met de join()-functie kan ook de split()-functie worden gebruikt om een tekenreeks te splitsen, die bijna op dezelfde manier werkt als de join()-functie. Laten we naar een codefragment kijken:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter)
print('List: {0}'.format(split))

Laten we de uitvoer van dit programma bekijken: We hebben hetzelfde scheidingsteken gebruikt om de tekenreeks opnieuw te splitsen naar de oorspronkelijke lijst.

Slechts n keer splitten

De split()-functie die we in het vorige voorbeeld hebben gedemonstreerd, neemt ook een optioneel tweede argument aan dat aangeeft hoe vaak de splitsingsbewerking moet worden uitgevoerd. Hier is een voorbeeldprogramma om het gebruik ervan te demonstreren:

names = ['Java', 'Python', 'Go']
delimiter = ','
single_str = delimiter.join(names)
print('String: {0}'.format(single_str))

split = single_str.split(delimiter, 1)
print('List: {0}'.format(split))

Laten we de uitvoer voor dit programma bekijken: Deze keer werd de splitsingsbewerking slechts één keer uitgevoerd zoals we hebben opgegeven in het parameter van de split()-functie. Dat is alles voor het samenvoegen van een lijst om een ​​string te maken in Python en het gebruik van de split() -functie om de oorspronkelijke lijst opnieuw te krijgen.

Source:
https://www.digitalocean.com/community/tutorials/python-join-list