1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python基礎1 リスト型、ディクト型、セット型の操作メモ

Posted at

pythonの基礎を備忘録として残しておく

summary

x = [0, 1, 2, 3, 4]
print(x[0])  # 1番目の要素切り出し
print(x[1:4])  # 2番目から4番目の要素の切り出し
print(x[-1])  # 最後の要素の切り出し
print(x[-2:])  # 後ろから2つの要素の切り出し
x[2] = 6  # 3番目の要素を6に変更
x.append(5)  # 最後に5を追加
print(len(x))  # リストの長さ
print(sum(x))  # 要素の合計
print(max(x))  # 最大値
print(min(x))  # 最小値
print(2 in x)  # 2がリストに存在するか
print(tuple(x))  # リストをタプルへ変換

x = list(range(1, 11))  # 1〜10のリスト
x.sort()  # 昇順
x.sort(reverse = True)  # 降順 
* print(x.sort()) はダメNoneが返って来る

x = {'A': 10, 'B': 20, 'C': 30}
x['A'] = 15  # 'A'のバリューを15に変更
x['D'] = 60  # 'D':60 を追加
print(x.keys())  # キーの取り出し
print(list(x.keys()))  # キーを取り出し、リストに
print(x.values())  # バリューの取り出し
print(list(x.values()))  # バリューを取り出し、リストに
print(x.items())  # キーとバリューを取り出す
print(list(x.items()))  # キーとバリューを取り出し、リストに
print(x['B'])  # キー'B'のバリュー
print(x.get('B'))  # キー'B'のバリュー
print(x.get('D'))  # キー'D'のバリュー(存在しないと'None')
x['C'] = x['C']*10  # 'C'のバリューを10倍

x = [3, 2, 1, 6, 6, 5, 5, 4]
print( set(x) )  # セット(出力は{})
print( list(set(x)) )  # セットをリストに
 重複は削除され昇順になる

print( set(x1) | set(x2) )  # 和集合
print( set(x1) & set(x2) )  # 積集合
print( set(x1) - set(x2) )  # 差集合

1.リスト型

リストからの要素の切り出し

x = [0, 1, 2, 3, 4]
print(x[0])  # 1番目の要素切り出し
print(x[1:4])  # 2番目から4番目の要素の切り出し
print(x[-1])  # 最後の要素の切り出し
print(x[-2:])  # 後ろから2つの要素の切り出し

# 出力
0
[1, 2, 3]
4
[3, 4]

リストの要素変更

x = [0, 1, 2, 3, 4]
x[2] = 6  # 3番目の要素を6に変更
print(x)

# 出力
[0, 1, 6, 3, 4]

リストへの要素追加

x = [0, 1, 2, 3, 4]
x.append(5)  # 最後に5を追加
print(x) 

# 出力
[0, 1, 2, 3, 4, 5]

リスト操作


x = [0, 1, 2, 3, 4]
print(len(x))  # リストの長さ
print(sum(x))  # 要素の合計
print(max(x))  # 最大値
print(min(x))  # 最小値
print(2 in x)  # 2がリストに存在するか
print(tuple(x))  # リストをタプルへ変換

# 出力
5
10
4
0
True
(0, 1, 2, 3, 4)

リストの結合

x1 = [0, 1, 2]
x2 = [3, 4, 5]
print(x1 + x2)

# 出力
[0, 1, 2, 3, 4, 5]

range関数を使って、1〜10までのリストを作る


x = list(range(1, 11)) 
print(x) 

# 出力結果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

リストの並べ変え。print(x.sort())とかやると None が返って来るので注意。

x = [ 1, 3, 2, 4, 5]
x.sort()  # 昇順(数字の低いものから)
print(x)
x.sort(reverse = True)  # 降順(数字の高いものから)
print(x)

# 出力
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

2. ディクト型

ディクショナリーは、dict()のキーワード引数を利用して作成できる。

x = dict(A = 10, B = 20, C = 30)
print(x)

# 出力
{'A': 10, 'B': 20, 'C': 30}

ディクショナリーの要素を変更する

x = {'A': 10, 'B': 20, 'C': 30}
x['A'] = 15  # 'A'のバリューを15に変更
print(x)

#  出力
{'A': 15, 'B': 20, 'C': 30}

ディクショナリーに要素を追加する

x = {'A': 10, 'B': 20, 'C': 30}
x['D'] = 60  # 'D':60 を追加
print(x)

# 出力
{'A': 10, 'B': 20, 'C': 30, 'D': 60}

key を取り出し、リストに変換

x = {'A': 10, 'B': 20, 'C': 30}
print(x.keys())  # キーの取り出し
print(list(x.keys()))  # リストに変換

# 出力
dict_keys(['A', 'B', 'C'])
['A', 'B', 'C']

バリューを取り出し、リストに変換

x = {'A': 10, 'B': 20, 'C': 30}
print(x.values())  # バリューの取り出し
print(list(x.values()))  # リストに変換

# 出力
dict_values([10, 20, 30])
[10, 20, 30]

キーとバリューの両方を取り出す

x = {'A': 10, 'B': 20, 'C': 30}
print(x.items())  # キーとバリューを取り出す
print(list(x.items()))  # リストに変換

# 出力
dict_items([('A', 10), ('B', 20), ('C', 30)])
[('A', 10), ('B', 20), ('C', 30)]

ディクト型 { キー1:バリュー1, キー2:バリュー2, .... } から、キーに該当するバリューを取り出す。
x['B'] と x.get('B') は同じ結果になる。しかし、リストに存在しないキーの場合、x['D']はエラーになるが、x.get['D']はNoneが返る。

x = {'A':10, 'B':20, 'C':30}
print(x['B'])  # キーが'B'のバリュー取得
print(x.get('B'))  # get関数によるバリュー取得
print(x.get('D'))  # リストに存在しない場合、Noneが返る

# 出力結果
20
20
None

get関数を使って、キーがあればそのバリューを、キーがなければ'存在しません'と出力する。

def func(key):
    x = {'A':10, 'B':20, 'C':30}
    v = x.get(key)
    if v == None:
       print('存在しません')
    else:
       print(v)

func('D')
func('C') 

# 出力
存在しません
30

'C' のバリューを10倍にする

x = { 'A':10, 'B':20, 'C':30 }
x['C'] = x['C']*10  # 'C'のバリューに、'C'のバリューを10倍したものを代入
print( x ) 

# 出力
{'A': 10, 'B': 20, 'C': 300}

3. セット型

リストからセット{ }を作ると、要素の重複が省かれ、昇順に並ぶ。list関数でリストに変換。

x = [3, 2, 1, 6, 6, 5, 5, 4]
print( set(x) )
print( list(set(x)) )

# 出力
{1, 2, 3, 4, 5, 6}  # セット型
[1, 2, 3, 4, 5, 6]  # リスト型

セット(集合)の演算

x1 = [1, 2, 3]
x2 = [3, 4, 5]
print( set(x1) | set(x2) )  # 和集合
print( set(x1) & set(x2) )  # 積集合
print( set(x1) - set(x2) )  # 差集合

# 出力結果
{1, 2, 3, 4, 5}  # セット型
{3}  # セット型
{1, 2}  #セット型

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?