# Python基礎 List編
## List概要
変数を連続して定義したり利用する場合は、1つの変数だけでなくリストとして変数を定義します。
## リスト変数の定義
- リストを定義するには、角かっこ「[]」の中にそのリストに含めるデータをカンマ「,」で区切って並べていく。
- リストは構成する各要素の型が違っていても成り立つのです。
- リストに格納する個々のデータのことを「要素」と呼ぶ。
```python=
# 空のリストを定義
list_empty = []
print(list_empty)
#要素をカンマで区切り、[]で囲う
list_variable = [1,2,3,4,5,6,7,8,9]
print(list_variable)
language = ["Python","c++","Java"]
print(language)
#要素のタイプは異なってもいい
languages_ver = ["Python",3.7,"Java",14]
print(languages_ver)
```
```python=
[]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
['Python', 'c++', 'Java']
['Python', 3.7, 'Java', 14]
```
## list()関数によるリストの作成
パラメーターに受け取ったiterable(反復可能オブジェクト)を基に、リストを作成する。
- range()はrange型のオブジェクトを返す。
```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)
```
```python=
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])
```
```python=
1
8
```
## list - loop
リストの要素にアクセスするには for を用います。
```python=
for i in range_list:
print(i,end = " ")
print()
for i in range(9):
print(range_list[i],end = " ")
```
```python=
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
```
## リストの要素数を求める
- len(s)
引数に指定したリストsの要素数を返す。
```python=
strlist = list("Python")
print(len(strlist))
intlist = [0,10,9,2,0,-10,-2,0,-7,3]
print(len(intlist))
```
```python=
6
10
```
## 要素を追加
- append(X)
リストの末尾に要素を一つ追加します。
```python=
language = ["Python","c++","Java"]
print(language)
language.append("PHP")
print(language)
```
```python=
['Python', 'c++', 'Java']
['Python', 'c++', 'Java', 'PHP']
```
## リストへの要素の挿入
- insert(i, x)
リスト中の「i」で指定したインデックス位置に、要素「x」を挿入する。
```python=
languages = ["Python","c++","Java"]
print(languages)
languages.insert(1,"PHP")
print(languages)
```
```python=
['Python', 'c++', 'Java']
['Python', 'PHP', 'c++', 'Java']
```
## 要素を削除
- remove(x)
removeメソッドは引数に削除したい要素の値を指定します。
```python=
languages = ["Python","c++","Java"]
print(languages)
languages.remove("c++")
print(languages)
```
```python=
['Python', 'c++', 'Java']
['Python', 'Java']
```