###### tags: `homework`
# List概要
変数を連続して定義したり利用する場合は、
1つの変数だけでなくリストとして変数を定義します。
## リスト変数の定義
* リストを定義するには、角かっこ「[]」の中にそのリストに含めるデータをカンマ「,」で区切って並べていく。
* リストは構成する各要素の型が違っていても成り立つのです。
* リストに格納する個々のデータのことを「要素」と呼ぶ。
**Example:**
```python=
#空のリスト(要素が1つもないリスト)を定義
list_empty = []
print(list_empty)
#要素をカンマ(,)で区切り、[]で囲う
list_variable = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list_variable)
languages = ['python', 'c++', 'java']
print(languages)
# 要素のタイプは異なっていてもいい
languages_ver = ['python', 3.7, 'java', 14]
print(languages_ver)
```
**Results:**
```
[]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
['python', 'c++', 'java']
['python', 3.7, 'java', 14]
```
## list()関数によるリストの作成
パラメーターに受け取ったiterable(反復可能オブジェクト)を基に、リストを作成する。
* range()はrange型のオブジェクトを返す。
**Example:**
```python=
range_list = range(1, 10)
print(range_list)
print(type(range_list))
range_list = list(range(1, 10))
print(range_list)
print(type(range_list))
strlist = list('python')
print(strlist)
```
**Results:**
```
range(1, 10)
<class 'range'>
[1, 2, 3, 4, 5, 6, 7, 8, 9]
<class 'list'>
['p', 'y', 't', 'h', 'o', 'n']
```
## list - index(インデックス)
要素には「0始まり」で番号(インデックス)が割り振られ、要素の値を使いたいときにはこれを使用する。
```python=
range_list = list(range(1, 10))
print(range_list[0])
print(range_list[7])
```
***Results:***
```
1
8
```
## list - roop
リストの要素にアクセスするには for を用います。
```python=
for i in range_list:
print(i, end = " ")
print()
for i in range(9):
print(range_list[i], end = " ")
```
***Results:***
```
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
```
## リストの要素数を求める
* len(s)
引数に指定したリストsの要素数を返す。
```python=
str_list = list('python')
print(len(str_list))
int_list = [0, 10, 9, 2, 0, -10, -2, 0, 7, 3]
print(len(len_list))
```
***Results:***
```
6
10
```
## 要素を追加
* append(x)
リストの末尾に要素を一つ追加します。
```python=
languages = ['python', 'c++', 'java']
print(languages)
languages.insert(1, 'PHP')
print(languages)
```
***Results:***
```
['python', 'c++', 'java']
['python', 'PHP', 'c++', 'java']
```
## 要素を削除
* remove(x)
removeメソッドは引数に削除したい要素の値を指定します。
```python=
languages = ['python', 'c++', 'java']
print(languages)
languages.remove('c++')
print(languages)
```
***Results:***
```
['python', 'c++', 'java']
['python', 'java']
```