String

Strings can be created by enclosing characters inside a single quote or double quotes. Even triple quotes can be used in Python but generally used to represent multiline strings and doc strings.

string = "Hello world!"
print string
# Hello world!

mystring = '''first line 
second line
third line'''
print mystring
# first line 
# second line
# third line

print('''He said, "What's there?"''')
# He said, "What's there?"            # using triple quotes

print('He said, "What\'s there?"')
# He said, "What's there?"            # escaping single quotes

print("He said, \"What's there?\"")
# He said, "What's there?"            # escaping double quotes

Convert from other type with str()

#convert from integer to string
str(1)

Slicing: similar as in list

string = "Hello world!"
print string[3]
# l                   # return the 4th character
print string[3:7]
# lo w                # return the 4th to 7th character
print string[:7]
# Hello w             # from the beginning to the 7th character
print string[3:]
# lo world!           # from the 4th to the end
print string[-3:]
# ld!                 # 3rd character from the end until the end
print string[3:8:2]
# l o                 # [start:stop:step]

Reverse

Note that reverse() doesn't work for string. Need to convert string to list and then reverse().

print string[::-1]
# !dlrow olleH

Important: We can't do slicing and reverse simultaneously. If we want to reverse a substring:

string[start:end][::-1]

Change a string

Strings are immutable. This means that elements of a string cannot be changed once it has been assigned. We can simply reassign different strings to the same name.

string = "Hello world!"
string[0] = "h"
print string
# TypeError: 'str' object does not support item assignment

string = "hello world!"
print string
# hello world!

Delete characters from a string

We cannot delete or remove characters from a string. But deleting the string entirely is possible using the keyword

del.

string = "hello world!"
print string
# hello world!
del string
print string
# NameError: name 'string' is not defined

Concatenation of Two or More Strings

Joining of two or more strings into a single one is called concatenation.

The + operator does this in Python. Simply writing two string literals together also concatenates them.

The * operator can be used to repeat the string for a given number of times.

string1 = "hello"
string2 = "world"

print string1 + string2
# helloworld

whole = string1 + " " + string2
print whole
# hello world

print string1 * 2 + " " + string2
# hellohello world

String Membership Test

We can test if a sub string exists within a string or not, using the keywordin.

print "l" in "hello"
# True

print "l" not in "hello"
# False

String Comparison

We can use == to compare if two strings are the same.

"abc" == "ab"
# False
"abc" == "abc"
# True

Iterate each character in a string

word = 'test'
for c in word:
    print c

for i, c in enumerate(word):
    print i, c

Convert all characters to uppercase/lowercase

These make a new string with all letters converted to uppercase and lowercase, respectively.

print string.upper()
# HELLO WORLD!
print string.lower()
# hello world!

startswith/endswith

This is used to determine whether the string starts with something or ends with something, respectively.

print string.startswith("Hello")
# True
print string.startswith("hello")
# False
print string.endswith("!")
# True

Split

This splits the string into a bunch of strings grouped together in a list. If not specified, the default of string.split() is splitting by space.

print string.split(" ")
# ['Hello', 'world!']
print string.split("l")
# ['He', '', 'o wor', 'd!']

Enumerate

The enumerate()function returns an enumerate object. It contains the index and value of all the items in the string as pairs. This can be useful for iteration.

string = 'cold'
print list(enumerate(string))
# [(0, 'c'), (1, 'o'), (2, 'l'), (3, 'd')]

Join strings

print ' '.join(['This', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
# This will join all words into a string

print '#'.join(['This', 'will', 'join', 'all', 'words', 'into', 'a', 'string'])
# This#will#join#all#words#into#a#string

Length

Length including punctuation and spaces.

len(string)
# 12

Count

differentiate uppercase and lowercase

can count the number of space

can count the number of punctuation

print string.count("l")
# 3
print string.count("h")
# 1
print string.count("H")
# 0 
print string.count(" ")
# 1
print string.count("!")
# 1

Finding substring

Both index and find return the index of the first occurrence of the first character in the substring. The only difference is that when the substring is not found, index returns ValueError and find returns -1.

string = "hello world"

print string.index("l")
# 2
print string.index("ll")
# 2

print string.find("l")
# 2
print string.find("ll")
# 2

print string.index("lll")
# ValueError: substring not found

print string.find("lll")
# -1

Replace part of a string

When using replace() to replace part of a string, need to assign the new value to the original name. Because string is immutable. Otherwise, the string won't be changed.

string = "hello world"
string = string.replace("hello", "Hello")
print string
# Hello world

Check if a string is letter

str.isalpha()Return true if all characters in the string are alphabetic and there is at least one character, false otherwise.

string = 'abc'
print string.isalpha()
# True

A list of build-in functions for strings

Method

Description

Converts first character to Capital Letter

Pads string with specified character

converts to casefolded strings

returns occurrences of substring in string

Checks if String Ends with the Specified Suffix

Replaces Tab character With Spaces

returns encoded string of given string

Returns the Highest Index of Substring

formats string into nicer output

Returns Index of Substring

Checks Alphanumeric Character

Checks if All Characters are Alphabets

Checks Decimal Characters

Checks Digit Characters

Checks for Valid Identifier

Checks if all Alphabets in a String are Lowercase

Checks Numeric Characters

Checks Printable Character

Checks Whitespace Characters

Checks for Titlecased String

returns if all characters are uppercase characters

Returns a Concatenated String

returns left-justified string of given width

returns right-justified string of given width

returns lowercased string

returns uppercased string

swap uppercase characters to lowercase; vice versa

Removes Leading Characters

Removes Trailing Characters

Removes Both Leading and Trailing Characters

Returns a Tuple

returns a translation table

Returns a Tuple

returns mapped charactered string

Replaces Substring Inside

Returns the Highest Index of Substring

Returns Highest Index of Substring

Splits String from Left

Splits String From Right

Splits String at Line Boundaries

Checks if String Starts with the Specified String

Returns a Title Cased String

Returns a Copy of The String Padded With Zeros

Formats the String Using Dictionary

Checks if any Element of an Iterable is True

returns true when all elements in iterable is true

Returns String Containing Printable Representation

Coverts a Value to Boolean

returns array of given byte size

returns immutable bytes object

Returns a Python code object

Creates a Complex Number

Returns an Enumerate Object

constructs iterator from elements which are true

returns floating point number from number, string

reads and returns a line of string

returns integer from a number or string

returns iterator for an object

Returns Length of an Object

returns largest element

returns smallest element

Applies Function and Returns a List

returns Unicode code point for Unicode character

returns reversed iterator of a sequence

creates a slice object specified by range()

returns sorted list from a given iterable

Add items of an Iterable

Returns an Iterator of Tuples

Last updated