学習ノート(10月23日)--(リスト、メタグループ、辞書)


二週一回授業(10月23日)
一、pythonリストを学習する一般的な方法リストは、一連の特定の順序で配列された要素から構成される.文字列、数字、辞書などをリストに入れることができます.要素の間には何の関係もありません.リストも下付きで、デフォルトも0からです.
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
print type(l)
print(dir(l))

append,listの末尾に要素を追加
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
print(l)
l.append('hello')
print(l)

結果:
['a', 'b', 'c', 'abc', 1, 2, 3]
['a', 'b', 'c', 'abc', 1, 2, 3, 'hello']

pop、list要素を削除します
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
l.pop()
print(l)

結果:
['a', 'b', 'c', 'abc', 1, 2]

index、条件に合致するlist下付き
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
print(l.index('abc'))

結果:
3

Insert、listの要素フォーマットを挿入します:insert(index,object)--insert object before index
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
l.insert(2, '321')
print(l)

結果:
['a', 'b', '321', 'c', 'abc', 1, 2, 3]

remove、listの要素フォーマットを削除します:L.remove(value)--remove first occurrence of value.
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
l.remove('abc')
print(l)

結果:
['a', 'b', 'c', 1, 2, 3]

reverse,list逆シーケンス
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
l.reverse()
print(l)

結果:
[3, 2, 1, 'abc', 'c', 'b', 'a']

sort,listをソートする
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
l.sort()
print(l)

結果:
[1, 2, 3, 'a', 'abc', 'b', 'c']

リストスライス:文字列、リスト、メタグループはpythonで「シーケンス」という特徴に合致し、この特徴に合致する変数であればスライス(slice)で任意の部分にアクセスできます.シーケンスをキューに想像することができます.前の3人が必要かもしれません.後ろの3位、または3位から4位、または1つずつ取るなど、スライスオペレータで上記の要件を実現します.Pythonでのスライスオペレータのプロトタイプは、[start:stop:step]すなわち、[インデックス開始:インデックス終了:ステップ値]インデックス開始:他の言語と同様に、0から開始します.シーケンスは左から右方向で、最初の値はインデックス0で、最後の値は-1でインデックスを終了します.スライスオペレータはインデックスの値を含まないまでインデックスを取得します.ステップ値:デフォルトでは次のカットが続き、2の場合はセパレータ操作が行われます.ステップ長の値が正の場合は左から右にとる.負の場合は、右から左にとる.ステップ値は0にできません.
l = ['a', 'b', 'c', 'abc', 1, 2, 3]
print(l[1:5:2])

結果:
['b', 'abc']

二、pythonの集合と方法を学ぶメタグループtupleは可変のlistで、tupleとlistは少し違います
1.Tupleの定義形式
t = ('a', 'b', 'c', 'abc', 1, 2, 3)
print(dir(t))
print(type(t))

tupleとlistの唯一の違いは[]が()になったことであり、他には何の変化もなく、tupleは増加と減少することができず、それ自体の方法は少なく、countとindexの2つの方法しかなく、他のlist方法は使用できません.
2.Tuple単一要素Tupleは単一要素を表す時、比較的に特別で、私達は特に注意しなければならなくて、さもなくば1つの間違いを犯しやすくて、つまり:
a = (1,)
b = 'abc'
print(type(a))
print(type(b))

結果:


上記の例から分かるように、tupleは単一の要素を表すときに、python解析器がメタグループと見なされないように、分離しなければならない.
3.Tupleのメソッド'count'は、ある要素の個数を統計します.
t = ('a', 'b', 'c', 'abc', 1, 2, 3)
print(t.count('a'))

結果は次のとおりです.
1

「index」は、ある要素の下付きT.index(value,[start,[stop])->integer--return first index of valueを返します.
t = ('a', 'b', 'c', 'abc', 1, 2, 3)
print(t.index('abc'))

結果は次のとおりです.
3

三、pythonの辞書と方法を学ぶ
ディクショナリは別の可変コンテナモデルであり、任意のタイプのオブジェクトを格納できます.辞書の各キー値(key=>value)対はコロン(:)で分割され、各対の間はカンマ(,)で分割され、辞書全体がカッコ{}に含まれ、辞書の付与には3つの方法があります.
k = {'name': 'wan yang', 'age': '25', 123: 'abc'}
d = dict(a=1, b=2, c=3)
d = dict([('name', 'yang'), ('age', 20)])

辞書には多くの一般的な方法があります.get()はkeyに対応するvalue値を取得します.
k = {'name': 'wan yang', 'age': '25', 123: 'abc'}
print(k.get('name'))

結果:
wan yang

setdefaultは、所与のkeyによって対応するvalueを検索し、所与の値が辞書にない場合はNoneを返し、辞書に'test':Noneキー値ペアを追加します.
k = {'name': 'wan yang', 'age': '25'}
k.setdefault('height', '170')
k.setdefault('tel')
print(k)

結果:
{'age': '25', 'tel': None, 'name': 'wan yang', 'height': '170'}

keys()、values()は、辞書のすべてのキーまたは値をリスト形式で返します.
k = {'name': 'wan yang', 'age': '25', 123: 'abc'}
print(k)
print(k.keys())
print(k.values())
{'age': '25', 123: 'abc', 'name': 'wan yang'}
['age', 123, 'name']
['25', 'abc', 'wan yang']

iteritems()
機能:辞書のすべての要素を返す反復器
iterkeys()
機能:辞書のすべてのkeysを返す反復器
itervalues()
機能:辞書のすべてのvaluesを返す反復器
d = {'name': 'Tom', 'age': '22'}
for i in d.iteritems():
    print i
for i in d.iterkeys():
    print i
for i in d.itervalues():
    print i

結果:
('age', '22')
('name', 'Tom')
age
name
22
Tom

update()更新辞書のキー値を増やす
d = {'name': 'Tom', 'age': '22'}
d2 = {'height': 170, 'tel': 110}
d.update(d2)
print d

結果:
{'age': '22', 'tel': 110, 'name': 'Tom', 'height': 170}

fromkeysは、新しい辞書を作成し、シーケンスseqの要素を辞書のキーとし、valueは辞書のすべてのキーに対応する初期値です.
d = [1, 2, 3]
dict = {}
dict = dict.fromkeys(d)
print dict  # {1: None, 2: None, 3: None}
dict = dict.fromkeys(d, 'xiaodeng')  # xiaodeng    
print dict  # {1: 'xiaodeng', 2: 'xiaodeng', 3: 'xiaodeng'}

結果:
{1: None, 2: None, 3: None}
{1: 'xiaodeng', 2: 'xiaodeng', 3: 'xiaodeng'}

zipは2つのリストを1つの辞書に統合する
l = ['name', 'age']
l1 = ['Tom', '22']
print(zip(l, l1))

結果:
[('name', 'Tom'), ('age', '22')]

辞書の追加操作
d = {'name': 'Tom', 'age': '22'}
d['sex'] = 'man'
print d

結果:
{'age': '22', 'name': 'Tom', 'sex': 'man'}

辞書の変更操作
d={'name': 'Tom', 'age': '22'}
d['age'] = '11'
print d

結果:
{'age': '11', 'name': 'Tom'}

Pop()削除key:valueペア
k = {'name': 'wan yang', 'age': '25', 123: 'abc'}
k.pop(123)
print(k)

結果:
{'age': '25', 'name': 'wan yang'}

ディクショナリのソート:valueでソート
mm = dict(a=1, b=10, c=3, d=9)
print sorted(mm.iteritems(), key=lambda d:d[1], reverse=True)

[('b', 10), ('d', 9), ('c', 3), ('a', 1)]