Pythonを一から勉強してデータ分析できるようになる

~ Pythonとデータ分析のお勉強の記録 ~

リスト、タプル、ディクショナリ

よく見かけるので、定義のようなものを整理しておく。

 

【書式】

リスト:値の集合、編集可能

 

【コード】

# リストを作る
list1=[10,20,30,40,50]
 
# リストを表示する
print(list1)
print(type(list1))
 
# リストの2番目の要素を表示する
print(list1[1])
 
# リストの2番目の要素を変更する
list1[1]=100
print(list1)

 

【結果】

[10, 20, 30, 40, 50]
<class 'list'>
20
[10, 100, 30, 40, 50]

 

 

[Take2] タプルの操作

 

【書式】

タプル:値の集合、変更不可

 

【コード】

# タプルを作る
tuple1=(10,20,30,40,50)
 
# タプルを表示する
print(tuple1)
print(type(tuple1))
 
# タプルの2番目の要素を表示する
print(tuple1[1])
 
# タプルの2番目の要素を変更する
tuple1[1]=100
print(tuple1)

 

【結果】

(10, 20, 30, 40, 50)
<class 'tuple'>
20
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
10
11 # タプルの2番目の要素を変更する
---> 12 tuple1[1]=100
13 print(tuple1)
 
TypeError: 'tuple' object does not support item assignment

 

タプルの内容は変更できないということ

 

[Take3] タプルの入れ子構造

 

【書式】

タプルの要素を数値ではなく、タプルにすることが可能

 

【コード】

# タプルを作る
tuple1=*1
 
# タプルを表示する
print(tuple1)
print(type(tuple1))
 
# タプルの2番目の要素を表示する
print(tuple1[1])
 
# タプルの3番目の要素の、1番目を表示する
print(tuple1[2][0])

 

【結果】

<class 'tuple'>
(60, 70, 80, 90, 100)
110

 

 

[TAKE4 ]リストの入れ子構造~要素としてタプルを置いてみる

 

【書式】

リストの要素を数値ではなく、タプルにすることも可能。異なる形式の混在も可能。

 

【コード】

# リストを作る
list1=[(10,20,30,40,50),(60,70,80,90,100),(110,120,130,140,150)]
 
# リストを表示する
print(list1)
print(type(list1))
 
# リストの2番目の要素を表示する
print(list1[1])
 
# リストの3番目の要素の、1番目を表示する
print(list1[2][0])
 
# リストの2番目の要素を変更する
list1[1]=100
print(list1)

 

【結果】

[(10, 20, 30, 40, 50), (60, 70, 80, 90, 100), (110, 120, 130, 140, 150)]
<class 'list'>
(60, 70, 80, 90, 100)
110
[(10, 20, 30, 40, 50), 100, (110, 120, 130, 140, 150)]

 

 

[Take5] リストの要素としてのタプルの値を変更してみる

 

【書式】

 

【コード】

# リストを作る
list1=[(10,20,30,40,50),(60,70,80,90,100),(110,120,130,140,150)]
 
# リストを表示する
print(list1)
print(type(list1))
 
# リストの2番目の要素を表示する
print(list1[1])
 
# リストの3番目の要素の、1番目を表示する
print(list1[2][0])
 
# タプルの3番目の要素の、1番目を変更する
list1[2][0]=1
print(list1)

 

【結果】

[(10, 20, 30, 40, 50), (60, 70, 80, 90, 100), (110, 120, 130, 140, 150)]
<class 'list'>
(60, 70, 80, 90, 100)
110
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in ()
13
14 # タプルの3番目の要素の、1番目を変更する
---> 15 list1[2][0]=1
16 print(list1)
 
TypeError: 'tuple' object does not support item assignment

 

結局、タプルの中身は変更できないということが確認できた。

 

[take6] ディクショナリ形式

 

【書式】

ディクショナリ:項目名と値のセット。要素の更新が可能。

 

【コード】

# ディクショナリを定義
dict1={
    "国語":100,
    "数学":80,
    "理科":70,
    "社会":90,
    "英語":90
}
 
#ディクショナリを表示
print(dict1)
print(type(dict1))
 
# ディクショナリの要素を変更
dict1['数学']=40
print(dict1)

 

【結果】

{'国語': 100, '数学': 80, '理科': 70, '社会': 90, '英語': 90}
<class 'dict'>
{'国語': 100, '数学': 40, '理科': 70, '社会': 90, '英語': 90}

 

*1:10,20,30,40,50),(60,70,80,90,100),(110,120,130,140,150

*2:10, 20, 30, 40, 50), (60, 70, 80, 90, 100), (110, 120, 130, 140, 150