day 8ノート整理
7906 ワード
1.元祖
1.1元祖(tuple)とは
元祖はpythonが提供するコンテナ型データ型(シーケンス)、可変(特色)、秩序元祖は可変のリストであり、一般的には修正されないデータ(要素1、要素2、要素3...)を保存する.
1.2元素
空の元祖tuple 1=()print(tuple 1,type(tuple 1)) 要素の個数は1の元祖です:1つの元祖の中に1つの要素しかない場合、この要素の後ろにカンマを付けなければなりません!tuple2 = (10,) print(tuple2, type(tuple2))
元祖データ中括弧は省略できます.(複数のデータはカンマで直接区切られ、元祖を表す)tuple 3=10,23,89,'小明'print(tuple 3,type(tuple 3))
1.3要素の取得:リストと同様
tuple 2=('月曜日','火曜日','水曜日','木曜日','金曜日')print(tuple 2[1])print(tuple 2[2:])for item in tuple 2: 変数の個数を元祖の要素の個数と一致させて、元祖の各要素の値point=(100,50)x,y=point print('x:',x,'y:',y) を1つずつ取得する
a, b, c = 10, 20, 30 # a, b, c = (10, 20, 30) 複数の変数に元祖の要素を同時に取得させる場合、1つの変数の前にこの変数をリストに追加して、持たない変数取得後の残りのデータを取得することができます.(注意*付き変数は1つのみ)student=('小明',18,89,68,89,90,'abc')name,age,*scores=student print(name,age,scores)#小明18[89,68,89,90,100]
name,*scores,age,a=student print(name,age,scores,a)#明ちゃん90[18,89,68,89]100
*items,a,b=student print(items,a,b)#['小明',18,89,68,89]90 abc
2辞書
2.1.辞書(dict)とは
辞書はpythonが提供するコンテナ型データ型(シーケンス)、可変、無秩序
2.2.辞書の要素
{キー値対1,キー値対2,キー値対3,...}-辞書の要素は、キー値対キー値対-キー:値'の形式でキー(key)が現れる-要求は可変ではなく、一意(文字列をキーとして推奨し、値を説明して区別するために使用される)値(value)-任意のタイプのデータは、値dict 1={10:100,'name':100,(1,2):100,'a':'abc','b':True,'c':[1,2],'d':{a':2}}print(dict 1)として使用できます.
dict2 = {10: 100, 'name': 100, [1, 2]: 100} # TypeError: unhashable type: 'list' dict1 = {10: 100, 'name': 100, {'a': 1}: 100} # TypeError: unhashable type: 'dict'
dict1 = {10: 100, 'name': 100, (1, 2): 100, 10: 200} print(dict1) # {10: 200, 'name': 100, (1, 2): 100}
2.3.要素の操作 -取得値"" 辞書[key]-辞書のkeyに対応するvalueを取得します.(keyが存在しなければ誤報!) 辞書get(key)-辞書のkeyに対応するvalueを取得します.(keyが存在しなければ間違いを報告しない、結果はNone)辞書.get(key、デフォルト)-辞書のkeyに対応するvalueを取得します.(keyが存在しない場合はエラーを報告せず、結果はデフォルト)""
"""
2.4.辞書を遍歴する
直接forループを介して辞書を巡回すると、すべてのkey""print('============================')が取得されます. 1.直接遍歴(これのみ)for key in dog:print(key,dog[key]) 2.間接遍歴print('====================')print(dog.values()for value in dog.values(): print(value)
print('====================') print(dog.items()) for key, value in dog.items(): 「辞書[key]=value-keyが存在する場合、keyに対応する値を変更します.keyが存在しない場合、キー値ペアを追加します」 削除"" del辞書[key]-辞書で指定したkeyに対応するキー値のペアを削除します.keyが存在しない場合は とエラーが発生します.辞書Pop(key)-辞書のkeyに対応する値を取り出します.keyが存在しない場合はエラーを報告します」「
2.5. 辞書関連アクション 演算子:数学演算はサポートされていません.比較演算子は比較的等しいもののみをサポートします.比較サイズprintはサポートされていません({'a':100,'b':10}={'b':10,'a':100})#True in/not in
len print(len(class2))
dict""辞書に変換できるデータ要件:データ自体はシーケンスであり、シーケンス内の各要素も長さが2のシーケンスであり、小シーケンスの最初の要素は可変ではない""
2.6.関連メソッド clear""辞書.clear()-辞書をクリア""dict 2={'a':10,'b':20}dict 2.clear() print(dict2)
2)copy""辞書.copy()-辞書のキー値ペアをコピーして新しい辞書を生成する""dict 2={'a':10,'b':20}dict 3=dict 2 dict 3['a']=100 print(dict 2)#{'a':100,'b':20} dict2 = {'a': 10, 'b': 20} dict3 = dict2.copy() dict3['a'] = 100 print(dict2) # {'a': 10, 'b': 20} 3)fromkeys""dict.fromkeys(シーケンス、値)-新しい辞書を作成します.辞書のkeyはシーケンスの要素で、keyに対応するvalueは値です."new_dict = dict.fromkeys('hello', 100) print(new_dict) 4)keys, values,items""辞書.keys()−辞書内のすべてのkeyを取得し、結果はシーケンス辞書.values()−辞書内のすべてのvalueを取得し、結果はシーケンス辞書.items()−辞書内のkeyとvalueを取得し、keyとvalueは元祖として返される""students={'name':'張三','age':18,'stu_id':'stu 001','gender':'女'}print(students.keys()print(students.values()) print(students.items()) 5)setdefault""辞書.setdefault(key,value)-キー値ペアを追加(変更不可)""students.setdefault('tel', '15300022783') print(students) 6)update""辞書1.update(辞書2)-辞書2のキー値ペアを使用して辞書1を更新する(追加、変更は存在しない)""dict 1={'a':1,'b':2,'c':3}dict 2={'b':200,'d':300,'e':400}dict 1.update(dict2) print(dict1) # {'a': 1, 'b': 200, 'c': 3, 'd': 300, 'e': 400}
3セット
3.1.集合(set)とは
コンテナ型データ型(シーケンス)、可変、無秩序
3.2.コレクション内の要素
{要素1,要素2,要素3,...}要素:可変、一意(重み付け機能付き)注意:{}空を表す集合ではなく、set()-空集合set 1=set()set 2={1,'abc',(1,3),False,1,1}print(set 2)#{False,1,(1,3),'abc'}
集合はstr 1='hekskfahheuwjseaa'print('.join(set(str 1))を除去することができる.
list1 = [1, 34, 34, 2, 2] # hfkaweujs print(list(set(list1))) # [1, 34, 2]
3.3.要素関連アクション ルックアップセットは、指定された要素を単独で取得することはできません.print('======================')set 3={12,34,56,2,7,88}for x in set 3:print(x) をサポートします.
「集合.add(要素)-集合に要素集合を追加.update(シーケンス)-集合に要素を追加(重量を除く)」「set 1={1}print(set 1)set 1.add(100) print(set1)
set1.update('abc') print(set1)
set1.update({'name':'張三','age':20})print(set 1) 削除""集合.remove(要素)-集合で指定した要素を削除します.(要素が存在しないとエラーが発生します!)""set4 = {1, 'b', 100, 'a', 'age', 'c', 'name'} set4.remove(100) print(set4)
(*)4.数学集合演算set 1={1,2,3,4,5,6}set 2={4,5,6,7,8}
1.1元祖(tuple)とは
元祖はpythonが提供するコンテナ型データ型(シーケンス)、可変(特色)、秩序元祖は可変のリストであり、一般的には修正されないデータ(要素1、要素2、要素3...)を保存する.
1.2元素
空の元祖tuple 1=()print(tuple 1,type(tuple 1))
1.3要素の取得:リストと同様
tuple 2=('月曜日','火曜日','水曜日','木曜日','金曜日')print(tuple 2[1])print(tuple 2[2:])for item in tuple 2:
print(item)
a, b, c = 10, 20, 30 # a, b, c = (10, 20, 30)
name,*scores,age,a=student print(name,age,scores,a)#明ちゃん90[18,89,68,89]100
*items,a,b=student print(items,a,b)#['小明',18,89,68,89]90 abc
2辞書
2.1.辞書(dict)とは
辞書はpythonが提供するコンテナ型データ型(シーケンス)、可変、無秩序
2.2.辞書の要素
{キー値対1,キー値対2,キー値対3,...}-辞書の要素は、キー値対キー値対-キー:値'の形式でキー(key)が現れる-要求は可変ではなく、一意(文字列をキーとして推奨し、値を説明して区別するために使用される)値(value)-任意のタイプのデータは、値dict 1={10:100,'name':100,(1,2):100,'a':'abc','b':True,'c':[1,2],'d':{a':2}}print(dict 1)として使用できます.
dict2 = {10: 100, 'name': 100, [1, 2]: 100} # TypeError: unhashable type: 'list' dict1 = {10: 100, 'name': 100, {'a': 1}: 100} # TypeError: unhashable type: 'dict'
dict1 = {10: 100, 'name': 100, (1, 2): 100, 10: 200} print(dict1) # {10: 200, 'name': 100, (1, 2): 100}
2.3.要素の操作
dog = {'name': ' ', 'color': ' ', 'age': 3, 'type': ' '}
print(dog['type'])
# print(dog['gender']) # KeyError: 'gender'
print(dog.get('name'))
print(dog.get('gender')) # None
print(dog.get('age', 100))
print(dog.get('gender', ' ')) #
"""
2.4.辞書を遍歴する
直接forループを介して辞書を巡回すると、すべてのkey""print('============================')が取得されます.
print('====================') print(dog.items()) for key, value in dog.items():
print(key, value)
class1 = {'name': 'py1902', 'address': '19 5 '}
print(class1) # {'name': 'py1902', 'address': '19 5 '}
#
class1['num'] = 50
print(class1) # {'name': 'py1902', 'address': '19 5 ', 'num': 50}
#
class1['name'] = 'python1902'
print(class1)
class2 = {'name': 'python1902', 'address': '19 5 ', 'num': 50}
del class2['num']
print(class2) # {'name': 'python1902', 'address': '19 5 '}
name = class2.pop('name')
print(class2, name)
2.5. 辞書関連アクション
# key in - key
class2 = {'name': 'python1902', 'address': '19 5 ', 'num': 50}
print('name' in class2) # True
print(50 not in class2) # True
data = [(1, 2), ['a', 23]]
print(dict(data))
dict2 = {'a': 10, 'b': 20}
print(list(dict2)) # ['a', 'b']
2.6.関連メソッド
3セット
3.1.集合(set)とは
コンテナ型データ型(シーケンス)、可変、無秩序
3.2.コレクション内の要素
{要素1,要素2,要素3,...}要素:可変、一意(重み付け機能付き)注意:{}空を表す集合ではなく、set()-空集合set 1=set()set 2={1,'abc',(1,3),False,1,1}print(set 2)#{False,1,(1,3),'abc'}
集合はstr 1='hekskfahheuwjseaa'print('.join(set(str 1))を除去することができる.
list1 = [1, 34, 34, 2, 2] # hfkaweujs print(list(set(list1))) # [1, 34, 2]
3.3.要素関連アクション
set1.update('abc') print(set1)
set1.update({'name':'張三','age':20})print(set 1)
# :class1, class2
1) : |
"""
1 | 2 -
"""
print(set1 | set2)
2) : & -
print(set1 & set2) # {4, 5, 6}
3) : 1 - 2 --- 1 2
print(set1 - set2) # {1, 2, 3}
print(set2 - set1) # {7, 8}
4) : 1^ 2 ---
print(set1 ^ set2)
5)
"""
1 >= 2 - 1 2
1 <= 2 - 2 1
"""
print({5, 6, 7, 8, 9} >= {1, 2, 3}) # False
print({5, 6, 7, 8, 9} >= {5, 9}) # True