CH2
===
> handout source https://hackmd.io/@michael1017/ryF_RAdwH
###### tags: `colde_garage_python_2019`
# String
## What is String
```python=
a = "apple"
print( type(a) )
```
## Operation for String
```python=
a = "apple"
b = "banana"
# add
print(a + b)
# multiply
print(a * 2 + b)
# in
print("pp" in a)
```
```
applebanana
appleapplebanana
True
```
## Slice
### Get element from string
```python=
variable = "my_string"
print(variable[3])
```
```
s
```
### How to use slice

```python=
variable[start:end:step]
```
```python=
variable = "0123456789"
print(variable[2:])
print(variable[-2:])
print(variable[:2])
print(variable[:-2])
print(variable[2:5])
print(variable[::3])
```
```
23456789
89
01
01234567
234
0369
```
### How about print from 9 to 0 ???
```python=
variable = "0123456789"
print(variable[::-1])
```
### Not only string has slice
* List
* Tuple
* Dictionary
## Useful Function for string
### len()
```python=
s = "abc"
print(len(s))
```
```
3
```
### split()
* default 空白字元
```python=
s = "a b c"
print(s.split())
```
```
['a', 'b', 'c']
```
* 自訂引數 split('?')
```python=
s = "a,b,c"
print(s.split(','))
```
```
['a', 'b', 'c']
```
### join()
* '??'.split(list)
```python=
list = ["apple", "banana", "candy"]
print('^ '.join(list))
```
```
apple^ banana^ candy
```
### replace()
your_string.replace(old, new[, count])
```python=
your_string = "helLo woRldooooo"
old = "o"
new = "kkkk"
result1 = your_string.replace(old, new)
result2 = your_string.replace(old, new, 3)
print(result1 + "\n" + result2)
```
```
helLkkkk wkkkkRldkkkkkkkkkkkkkkkkkkkk
helLkkkk wkkkkRldkkkkoooo
```
## uppercase and lowercase characters
* your_string.title() 所有單詞第一字大寫
* your_string.upper()
* your_string.lower()
* your_string.swapcase() 大小寫對調
* your_string.center(len)
* your_string.ljust(len)
* your_string.rjust(len)
```python=
your_string = "helLo woRld"
len = 30
print(your_string.title())
print(your_string.upper())
print(your_string.lower())
print(your_string.swapcase())
print(your_string.center(len))
print(your_string.ljust(len))
print(your_string.rjust(len))
```
```
Hello World
HELLO WORLD
hello world
HELlO WOrLD
helLo woRld
helLo woRld
helLo woRld
```
### Still a lot of thing
https://www.w3schools.com/python/python_strings.asp
# Data structure
## List
```python=
my_list = ["aaa", "bbb", "ccc"]
empty_list = []
print(my_list[1:])
```
## Tuple
```python=
my_tuple = ("aaa", "bbb", "ccc")
empty_tuple = ()
print(my_tuple[1:])
```
## Dictionary
```python=
my_dictionary = {"a":"apple", "b":"banana"}
empty_dictionary = {}
print(my_dictionary[1:])
```
## Tutorial from w3schools
https://www.w3schools.com/python/python_lists.asp
https://www.w3schools.com/python/python_tuples.asp
https://www.w3schools.com/python/python_dictionaries.asp
## map
https://www.w3schools.com/python/ref_func_map.asp
input
```
1 2 3 4
```
code
```python=
s = input();
my_list = list(map(int, s.split()))
print(my_list)
```
output
```
[1, 2, 3, 4]
```