Skip to ContentGo to accessibility pageKeyboard shortcuts menu
OpenStax Logo
Introduction to Python Programming

8.5 Splitting/joining strings

Introduction to Python Programming8.5 Splitting/joining strings

Learning objectives

By the end of this section you should be able to

  • Use the split() method to split a string into substrings.
  • Combine objects in a list into a string using join() method.


A string in Python can be broken into substrings given a delimiter. A delimiter is also referred to as a separator. The split() method, when applied to a string, splits the string into substrings by using the given argument as a delimiter. Ex: "1-2".split('-') returns a list of substrings ["1", "2"]. When no arguments are given to the split() method, blank space characters are used as delimiters. Ex: "1\t2\n3 4".split() returns ["1", "2", "3", "4"].


split() for breaking down the string into tokens

Concepts in Practice

Examples of string delimiters and split() method

What is the output of print("1*2*3*".split('*'))?
  1. ["1", "*", "2", "*", "3", "*"]
  2. ["1", "2', "3"]
  3. [1, 2, 3]
What is the output of print("a year includes 12 months".split())?
  1. ["a year includes 12 months"]
  2. ["a", "year", "includes", 12, "months"]
  3. ["a", "year", "includes", "12", "months"]
What is the output of the following code?
s = """This
is a

out = s.split()
  1. Error
  2. ['This', 'is', 'a', 'test']
  3. >['This', 'is a', 'test']


The join() method is the inverse of the split() method: a list of string values are concatenated together to form one output string. When joining string elements in the list, the delimiter is added in-between elements. Ex: ','.join(["this", "is", "great"]) returns "this,is,great".


join() for combining tokens into one string

Concepts in Practice

Applying join() method on list of string values

What is the output of the following code?
elements = ['A', 'beautiful', 'day', 'for', 'learning']

  1. 'A beautiful day for learning'
  2. ['A, beautiful, day, for, learning']
  3. 'A,beautiful,day,for,learning'
What is the length of the string "sss".join(["1","2"])?
  1. 2
  2. 5
  3. 8
What is the value stored in the variable out?
s = ["1", "2"]
out = "".join(s)
  1. 12
  2. "12"
  3. "1 2"

Try It

Unique and comma-separated words

Write a program that accepts a comma-separated sequence of words as input, and prints words in separate lines. Ex: Given the string "happy,smiling,face", the output would be:


Try It

Lunch order

Use the join() method to repeat back a user's order at a restaurant, separated by commas. The user will input each food item on a separate line. When finished ordering, the user will enter a blank line. The output depends on how many items the user orders:

  • If the user inputs nothing, the program outputs:
    You ordered nothing.
  • If the user inputs one item (Ex: eggs), the program outputs:
    You ordered eggs.
  • If the user inputs two items (Ex: eggs, ham), the program outputs:
    You ordered eggs and ham.
  • If the user inputs three or more items (Ex: eggs, ham, toast), the program outputs:
    You ordered eggs, ham, and toast.

In the general case with three or more items, each item should be separated by a comma and a space. The word "and" should be added before the last item.


This book may not be used in the training of large language models or otherwise be ingested into large language models or generative AI offerings without OpenStax's permission.

Want to cite, share, or modify this book? This book uses the Creative Commons Attribution License and you must attribute OpenStax.

Attribution information
  • If you are redistributing all or part of this book in a print format, then you must include on every physical page the following attribution:
    Access for free at
  • If you are redistributing all or part of this book in a digital format, then you must include on every digital page view the following attribution:
    Access for free at
Citation information

© Mar 15, 2024 OpenStax. Textbook content produced by OpenStax is licensed under a Creative Commons Attribution License . The OpenStax name, OpenStax logo, OpenStax book covers, OpenStax CNX name, and OpenStax CNX logo are not subject to the Creative Commons license and may not be reproduced without the prior and express written consent of Rice University.

This book utilizes the OpenStax Python Code Runner. The code runner is developed by Wiley and is All Rights Reserved.