5.4. Strings as Lists#
Remember, strings are a sequence, so you can index them.
my_string = 'Doe, John'
print(my_string[0])
print(my_string[-1])
print(my_string[2])
D
n
e
5.4.1. Splitting a Name#
When you split a string using split, a list is returned.
my_string = 'Doe, John'
print(my_string.split())
print(my_string.split(','))
print(my_string.split(', '))
['Doe,', 'John']
['Doe', ' John']
['Doe', 'John']
5.4.2. Splitting a Date#
5.4.2.1. Example 1#
date = '2023/05/23'
print(date.split('/'))
year, month, day = date.split('/')
print(year, month, day)
print(int(year), int(month), int(day))
['2023', '05', '23']
2023 05 23
2023 5 23
5.4.2.2. Example 2#
date = '05-23-2023'
print(date.split('-'))
month, day, year = date.split('-')
print(month, day, year)
print(int(month), int(day), int(year))
['05', '23', '2023']
05 23 2023
5 23 2023
5.4.2.3. Example 3#
date = '05-23-2023'
month, day, year = date[:2], date[3:5], date[6:]
print(month, day, year)
print(int(month), int(day), int(year))
05 23 2023
5 23 2023
5.4.3. Limiting splits#
my_string = 'range=start=3;end=20;step=2'
print(my_string.split('=', 1))
['range', 'start=3;end=20;step=2']
5.4.3.1. Extract the key-value pairs#
my_string = 'range=start=3;end=20;step=2'
range_options = my_string.split('=', 1)[1]
start, end, step = range_options.split(';')
start = start.split('=')[1] # or [-1]
end = end.split('=')[1] # or [-1]
step = step.split('=')[1] # or [-1]
print(start, end, step)
3 20 2
5.4.4. Splitting lines#
long_string='First line\nSecond line\nThird line'
print(long_string.split())
print(long_string.split('\n'))
print(long_string.splitlines())
['First', 'line', 'Second', 'line', 'Third', 'line']
['First line', 'Second line', 'Third line']
['First line', 'Second line', 'Third line']
5.4.5. Checking Character Type Manually#
my_string = 'EaS503!'
def char_type(char):
if 'A' <= char <= 'Z':
return 'Upper Case'
elif 'a' <= char <= 'z':
return 'Lower Case'
elif '0' <= char <= '9':
return 'Digit'
else:
return 'Not Alpha Numeric'
print(my_string[0], char_type(my_string[0]))
print(my_string[1], char_type(my_string[1]))
print(my_string[2], char_type(my_string[2]))
print(my_string[3], char_type(my_string[3]))
print(my_string[4], char_type(my_string[4]))
print(my_string[5], char_type(my_string[5]))
print(my_string[6], char_type(my_string[6]))
E Upper Case
a Lower Case
S Upper Case
5 Digit
0 Digit
3 Digit
! Not Alpha Numeric