Pythonベース:リスト、メタグループ、辞書
Pythonで最もよく使われるデータコンテナには、リスト、メタグループ、辞書があります.Pythonを使う上で身につけなければならない基礎です.リスト、メタグループ、辞書、および辞書の2つのソート方法(keyソートとvalueソート)について詳しく説明します.
一、リスト
1.作成
特別な作成方法:
2.アクセス
3.スライス
4.修正
5.削除
6.オペレータ('+','*',in,not in)
7.関数メソッド
二、元グループ
1.作成
メタグループの要素は、複数の変数に直接割り当てることができますが、変数の数は要素の数と一致する必要があります.Pythonの関数Functionは複数の値を返すことができ,この場合はメタグループタイプを返す.
2.アクセス
3.オペレータ
4.メタグループは要素を修正、削除できません
三、辞書
1.作成
特殊な作成方法:
2.アクセス
3.修正
4.削除
5.関数メソッド
6.辞書の並べ替え
キーでソート:
valueでソート:
まとめ:リストは無秩序で重複可能なデータ系列であり、要素を随時追加、削除することができる. リストは、四角カッコで作成され、カンマで区切られた要素 を使用します.リスト要素の値は、変数 を含む任意のタイプであってもよい.
タプルはリストと類似しており、タプルの要素が を変更できない点が異なる.メタグループは小かっこを使用し、リストは角カッコ を使用する. append()、insert()のように修正する方法はなく、他の方法はリストと同じ である.
辞書は、任意のタイプのオブジェクト を格納可能な別の可変コンテナモデルである.辞書の各キー値(key=>value)対はコロン(:)で分割され、各対の間はカンマ(,)で分割され、辞書全体がカッコに含まれる キーは一意でなければならないが、値は必要ない.値は任意のデータ型 であってもよい.辞書にないキーでデータにアクセスすると、 とエラーが発生します.辞書の要素は順序がなく、下付きで要素を参照することができず、キーで を参照する.辞書内部に格納順序とkeyが入れる順序は関係のない である.
一、リスト
1.作成
list1 = [1,2,3,4,5,6]
list2 = ['a','b','c','d','e']
list3 = [1,'2',[3,"a"],(5,6)]
特別な作成方法:
li = [x for x in range(5)] #[0, 1, 2, 3, 4]
li = [(x, x * 2) for x in range(5)] #[(0, 0), (1, 2), (2, 4), (3, 6), (4, 8)]
li = [x for x in range(5) if (x % 2) == 0] #[0, 2, 4]
2.アクセス
list1[1] #2
list3[-1] #(5,6)
3.スライス
list1[::2] #[1, 3, 5]
list3[2:-1] #[[3, 'a']]
list3[2][1] #'a'
4.修正
list1[0] = 0 #[0, 2, 3, 4, 5, 6]
list2[2] = ["b"] #['a', 'b', ['b'], 'd', 'e']
list3[0:2] = [1.1,'2.2'] #[1.1, '2.2', [3, 'a'], (5, 6)]
5.削除
list1 = [1,2,3,4,5,6]
del list1[0] #[2, 3, 4, 5, 6]
del list1[1:2] #[1, 4, 5, 6]
list1[1:2] = [] #[1, 4, 5, 6]
6.オペレータ('+','*',in,not in)
list1 = [1,2,3,4,5,6]
list2 = ['a','b','c','d','e']
li = list1 + list2 #[1, 2, 3, 4, 5, 6, 'a', 'b', 'c', 'd', 'e']
li = list1 * 2 #[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
5 in list1 #True
8 not in list1 #True
7.関数メソッド
li = [0,1,2,3,3,5]
#
len(li) #6
#
max(li) #5
#
min(li) #0
#
li.append(6) #[0, 1, 2, 3, 3, 5, 6]
#
li.count(3) #2
#
li.index(3) #3 ( )
# index 7 9
li.insert(7,9) #[0, 1, 2, 3, 3, 5, 9]
# index
li.pop(4) #[0, 1, 2, 3, 5]
#
li.remove(3) #[0, 1, 2, 3, 5]
#
li.reverse() #[5, 3, 3, 2, 1, 0]
#
li.sort(reverse=False) #[0,1,2,3,3,5]
#
li.clear()
del li[:]
li = []
二、元グループ
1.作成
メタグループの要素は、複数の変数に直接割り当てることができますが、変数の数は要素の数と一致する必要があります.Pythonの関数Functionは複数の値を返すことができ,この場合はメタグループタイプを返す.
a, b, c = (1, 2, 3)
d = ('a', 'b', 'c')
print(a) #1
print(b) #2
print(c) #3
print(d) ('a', 'b', 'c')
2.アクセス
d = ('a', 'b', 'c')
d[1] #'a'
d[1:3] #('b', 'c')
3.オペレータ
a = (1, 2, 3)
d = ('a', 'b', 'c')
a + d #(1, 2, 3, 'a', 'b', 'c')
d * 2 #('a', 'b', 'c', 'a', 'b', 'c')
4.メタグループは要素を修正、削除できません
三、辞書
1.作成
d = {key1 : value1, key2 : value2 }
特殊な作成方法:
{x: x**2 for x in (2, 4, 6)} #{2: 4, 4: 16, 6: 36}
2.アクセス
dic = {'a': 1, 'b': [1, 2, 3], 'c':{1:2}}
dic['b'][2] #3
dic['a'] #1
dic['b'] #[1, 2, 3]
dic['c'][1] #2
3.修正
dic = {'a': 1, 'b': [1, 2, 3]}
dic['b'][1] = 0 #{'a': 1, 'b': [1, 0, 3]}
4.削除
dic = {'a': 1, 'b': [1, 2, 3]}
#
del dic['a'] #{'b': [1, 2, 3]}
#
del dic
5.関数メソッド
dic = {'a': 1, 'b': 2, 'c':3}
len(dic) #3
str(dic) #"{'a': 1, 'b': 2, 'c': 3}"
'a' in dic #True
dic.get('a') #1
dic.items() #dict_items([('a', 1), ('b', 1), ('c', 3)])
dic.keys() #dict_keys(['a', 'b', 'c'])
dic.values() #dict_values([1, 1, 3])
dic.update({'a':0}) #{'a': 0, 'b': 2, 'c': 3}
dic.pop('b') #{'a': 0, 'c': 3}
6.辞書の並べ替え
キーでソート:
dic = {'a': 2, 'c': 3, 'b':1}
sorted(dic.items(), key=lambda d: d[0])
# :
[('a', 2), ('b', 1), ('c', 3)]
valueでソート:
dic = {'a': 2, 'c': 3, 'b':1}
sorted(dic.items(), key=lambda d: d[1])
# :
[('b', 1), ('a', 2), ('c', 3)]
まとめ: