Python

#配列
##検索
[find] .find(検索する文字列, 開始位置, 終了位置)
[rfind]…後から
該当文字列が見つかれば0から始まる文字列１を返す
無ければ-1を返す

```Python
s = "abcabcabc"
index = s.find("b")
```

##カウント
[count()]

```Python
s = 'aaabbc'
print(s.count('b'))  #=> 2
```

##置換
[replace]

```Python
s = 'Today is Monday.'
ss = s.replace('Monday', 'Sunday')  #=> 'Today is Sunday.'
print(ss)
s2 = 'Hello Hello'
ss2 = s2.replace('Hello', 'Bye')  #=> 'Bye Bye' 第三引数を指定しなければすべて置換される
print(ss2)
s3 = 'World World'
ss3 = s3.replace('World', 'Hello', 1)  #=> 'Hello World' # 第三匹数で置換する個数を指定
print(ss3)
```

##大文字小文字
[upper()]
[lower()]
[swapcase()]
[capitalize()]

```Python
print('hello'.upper())  # => 'HELLO'
print('BIG'.lower())  # => 'big'
print(word.swapcase()) # => abcABC
print(word.capitalize()) # => Abcabc
```

##何番目か
[index()]

```Python
animals = ['dog', 'cat', 'elephant']
animals.index('elephant') # => 2
```

##結合
[extend]

```Python
list8 = [1, 2, 3]
list9 = [4, 5, 6]
list8.extend(list9)
print(list8)
#[1, 2, 3, 4, 5, 6]
```

[+]

```Python
list10 = list8 + list9
print(list10)
#[1, 2, 3, 4, 5, 6]
```

##要素の削除
[remove()]
引数に削除したい要素の値を指定
リスト内に存在しない値を指定するとエラーが発生する

```Python
mylist = [1,2,3,4,5]
mylist.remove(5)
print(mylist)  ## => [1, 2, 3, 4]
```
[del]
indexを指定して削除

```Python
animals = ['dog', 'cat', 'elephant']
del animals[1]
print(animals) # => ['dog', 'elephant']
```

##スライス
[:]

```Python
word = ['p', 'y', 't', 'h', 'o', 'n']
word[0:3] # => ['p', 'y', 't']
word[1:5:2] # => ['y', 'h', 'n']
word[::2] # => ['p', 't', 'o']
word[::-2] # => ['n', 'h', 'y']
word[::-1] # => ['n', 'o', 'h', 't', 'y', 'p'] #リストの要素が逆順になる
```

##並び替え
[sorted()]

```Python
X = [1, 3, 4, 2, 5]
sortX = sorted(X)
print(X) # => [1, 3, 4, 2, 5]
print(sortX) # => [1, 2, 3, 4, 5]

X.sort()
print(X) # => [1, 2, 3, 4, 5]
X.sort(reverse = True) # 降順
print(X) # => [5, 4, 3, 2, 1]
```

[reversed()]
逆順にする

```Python
X = [1, 3, 4, 2, 5]
reX = reversed(X)
print(reX) # => [5, 2, 4, 3, 1]
print(X[:-1]) # => [5, 2, 4, 3, 1]
```

##重複を取り除く
[set()]
一意な値のみを昇順に並べたlistを返す

```Python
l = [3, 3, 2, 1, 5, 1, 4, 2, 3]
l_unique = list(set(l))
print(l_unique)
# [1, 2, 3, 4, 5]
```

順番を変えたくない時はkeyを指定する

```python
list = ['a', 'b', 'c', 'a']
sorted(set(list), key=list.index)
['a', 'b', 'c']
```

##重複した値を抽出
```Python
l = [3, 3, 2, 1, 5, 1, 4, 2, 3]
l_duplicate = [x for x in set(l) if l.count(x) > 1]
print(l_duplicate)
# [1, 2, 3]
```

##ZIP
２つ以上のリストの各要素の組（タプル）を作る組み込み関数

```Python
zip([1,2,3], ['a', 'b', 'c'])
# => [(1, 'a'), (2, 'b'), (3, 'c')]
```


#import math
[math.gcd(,)]
最大公約数

```python
math.gcd(3, 15) # => 3
```

最小公倍数

```Python
lcm(a, b) = (a * b) / gcd(a, b)
```

[log(真数, 底)]

```Python
math.log(5)
# eを底とする
math.log10(5)
# 底が10
```

[pow]

```Python
math.pow(x, y) # => x の y 乗
```

[sqrt]

```Python
math.sqrt(x) # => x の平方根
```

["{:.xf}".format()]
四捨五入して小数点以下の桁数を指定

```Python
pi = 3.141592 
print('{:.1f}'.format(pi)) #小数点以下1位
print('{:.2f}'.format(pi)) #小数点以下2位
print('{:.3f}'.format(pi)) #小数点以下3位
```

#lambda

```Python
list_1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_2 = filter(lambda x: x % 2 == 0, list_1)  # 偶数を抽出

list_s_1 = ['apple', 'grape', 'banana', 'orange']
list_s_2 = list(filter(lambda x: 'n' in x, list_s_1))  # 'n' を含む要素を抽出
print(list_s_2)  # ['banana', 'orange']

items = [1, 2, 3]
map(lambda x : x + 20, items) # => [21, 22, 23]
[x + 20 for x in items] # => [21, 22, 23]
```

#import re
##指定語句の置き換え（削除）
文章内の指定した語句をまとめて他の指定語句に置き換える

```Python
import re

text1 = "今日はとても暑い。今日はアイスを食べよう。"
text2 = "123456789"

text1 = re.sub('今日', '明日', text1)
# => "明日はとても暑い。明日はアイスを食べよう。"
text2 = re.sub(r'[3-5]', '', text2)
# => "126789" 
```