formatフォーマットとメタグループ、辞書
93303 ワード
formatフォーマットとメタグループ、辞書新課標 formatフォーマット タプル タプルの基本使用形式: 1,タプルの作成 2.メタグループの基本操作 辞書 辞書の作成 空の辞書を作成 複数の値を持つ辞書を作成 辞書の一般的な操作 ディクショナリ値のアクセス(検索の一種) 増 削除 改 調べ 新しいテキスト
例:
formatフォーマット位置マッピング列子: キーワードマッピング エレメントアクセス
1,メタグループの作成Nullタプルを作成 1つの要素のみを含むメタグループを作成するには、1つの要素のみを含むメタグループを作成する場合は、1つの要素の後に「,」を追加する必要があります. 複数の要素を含むタプルを作成 2.タプルの基本操作
調べる対応する要素をインデックスで検索 検索要素のインデックス値
注意:メタグループは可変のデータ型で、十分に増加することができなくて、削除して、変えます
t 4にリストがあることに注意してください.このリストの要素は変更できますか.
つなぎ合わせる
繰り返し
要素が存在するかどうかを判断する
組み込み関数(最大値最小値)
メタグループの遍歴
1)値の遍歴
2.索引遍歴
3.索引-値、遍歴
列挙(enumerate)、リスト、文字列などの反復可能な(iterable)/遍歴可能なオブジェクトに対して、enumerateはインデックスと値を同時に得ることができるインデックスシーケンスを構成します.
2 Dタプル
3 Dメタグループ
復習する文字列、タプルは可変データ型 リストが可変リストジョブ 辞書
考え:
シーン1
リストがある場合
「python」という名前を書き間違え、コードで修正する必要があります.
リストの順序が変更された場合は、次のようになります.
名前の修正を完了するには、この時点でマークを修正する必要があります.
複数のデータを格納しながら、エレメントにアクセスしやすいように必要なエレメントを特定する方法はありますか?
回答:
辞書
シーン2
学生情報リスト、各学生情報には学号、名前、年齢などが含まれていますが、どのようにして学生の情報を見つけますか?
循環遍歴?これは面倒です.
実際の生活では、中国語の辞書や英漢の辞書などもよく使われています.
プログラム内の辞書:
ディクショナリ(dictionary)は、リスト以外のpythonで最も柔軟な組み込みデータ構造タイプです.ディクショナリは可変データ型であり、任意のタイプのオブジェクトを格納できます.リストは秩序化されたオブジェクト結合であり、辞書は無秩序なオブジェクト集合である.両者の違いは,辞書の要素がオフセットアクセスではなくキーによってアクセスされることである.
書式:
{key:value1,key:value2,…}
説明:
1.健-値対中間はコロン(":")で接続する.
2.key:valueは辞書の要素を構成します.
3.健-値対(要素)の間をカンマ(",")で区切る.
4.辞書全体をかっこ「{}」で包む.
辞書の作成
空の辞書を作成
複数の値を持つ辞書を作成
1.直接付与法:d={key 1:value 1,key 2:value 2}例えば:
2,関数による辞書の作成(強制変換)
列:
3.辞書のfromkeysメソッドによる辞書の作成
辞書の一般的な操作
ディクショナリ値へのアクセス
辞書は無秩序で、インデックスで値を取得できません.通過健(key)アクセス値(value) key値が存在しない場合、エラー getアクセス値(value)を使用して、辞書にキーが存在するかどうかを判断せずに値を取得したい場合は、getメソッドを使用したり、デフォルト値を設定したりできます. keyが存在しない場合、異常は放出されません.Noneを返します.
高照老2019/3/26 11:25:35
増加
-新しいキーを直接追加-変数名['キー']=データを使用する場合、このキーは辞書に存在しません.この要素が追加されます.
dict.update(dict1)
辞書dic 1のキー/値ペアをdicに更新する
-2つの辞書のキーが異なる場合、dic 1のキー値をdicに挿入します.-2つの辞書に同じキーがある場合、dic 1はditのキー値を上書きします.
dict.update(dict1)
辞書dic 1のキー/値ペアをdicに更新する2つの辞書のキーが異なる場合、dic 1のキー値をdicに挿入する 2つの辞書に同じキーが存在する場合、dic 1はditのキー値 を上書きする.
削除 del dict[key] 指定した要素/健値ペアを削除 戻り値なし del dict 辞書全体を削除 dect.clear() 辞書全体をクリア dict.pop(keys) 指定健値ペアを削除 dict.popitem() ランダム削除辞書の健値ペア 戻り値あり、あれメタグループ方式戻り 応用が広くない
改める
辞書の各要素のデータは修正できます.keyで見つけたら、修正できます.直接修正 dict.setdfault() 健在、変更せず、辞書の対応する値 を返します.健は存在せず、辞書に対応するキー値ペアを追加し、対応する値 を返します.
調べる dict.keys() 辞書のすべての健(keys) を返します.
dict.value() 辞書のすべての値を返します dict.litems() 辞書のすべてのキー値ペア(keys-value) を返します.
key in dict 存在、True 存在しない、False
Python 2ではdict.has_key()は、keyが辞書にある場合、Trueを返します.そうでなければFalseに戻ります
辞書の遍歴
(1)辞書を巡る健(key)
(2)辞書を巡る値(value)
(3)すべての項目を遍歴する(items)
(4)辞書を巡るキー値ペア(key-value)
, :
%(name)[width].[precision]typecode
(name)
flags +,-,' ' 0。+ 。- 。' ' , , 。0 0 。
width
precision
例:
>>> print("%+10x"% 10)
+a
>>> print("%04d"%5)
0005
>>> print("%6.3f"%2.3)
2.300
>>>
>>> print("%2.3f"%2300.2)
2300.200
>>>
formatフォーマット
>> "{}".format(" ")
' '
>>> "{}:{}".format("1","2")
'1:2'
>>> print("his name is {}".format("ww","q"))
his name is ww
>>> print("his name is {},his age is {}".format("ww","q"))
his name is ww,his age is q
>>>
>>> print("{name},++++,{age},++++,{name}".format(name="xiaoming",age=18))
xiaoming,++++,18,++++,xiaoming
>>>
print("{0[0]}----{0[1]}----{1[1]}".format(["python","java"],["c++","R Language"]))
python----java----R Language
タプル , ,
タプルの基本的な使用形式: :
1. list ;
2. ;
3. ()
基本的な説明:タプルは()でカプセル化された複数のエレメントのデータ型であり、各エレメント間は「,」で区切られている.1,メタグループの作成
( 1, 2,···, n)
>>> t1=()
>>> type(t1)
<class 'tuple'>
>>>
>>> t2=(6)
>>> t2,type(t2)
(6, <class 'int'>)
>>> t2=(6,)
>>> t2,type(t2)
((6,), <class 'tuple'>)
>>>
リストと同様に、タプルの要素は異なるデータ型の要素であってもよい調べる
>>> t1=(1,2,3,4,5,6)1
>>> t3 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
>>> t3[4]
{'name': 'Tom', 'age': 18}
>>>
>>> t3[-1]
{'name': 'Tom', 'age': 18}
>>> t3[::-2]
({'name': 'Tom', 'age': 18}, ['h', 'u', 'n', 'a', 'n'], 1)
>>>
注意:メタグループは可変のデータ型で、十分に増加することができなくて、削除して、変えます
t3 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
print(t3.index("hunan"))
print(t3.index("hunan",1,4))
:
1
1
t 4にリストがあることに注意してください.このリストの要素は変更できますか.
t4 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
print(t4[0]=0)
,
つなぎ合わせる
>>> t4 = (1, "hunan", ['h', 'u', 'n', 'a', 'n'], ('I', 'love', 'python'), {"name": "Tom", "age": 18})
>>> t4[2]
['h', 'u', 'n', 'a', 'n']
>>> t4[2][2]='N'
>>> t4
(1, 'hunan', ['h', 'u', 'N', 'a', 'n'], ('I', 'love', 'python'), {'name': 'Tom', 'age': 18})
>>>
繰り返し
>>> t1=('a','b','c')
>>> t2=('d','e','f')
>>> t1+t2
('a', 'b', 'c', 'd', 'e', 'f')
>>>
要素が存在するかどうかを判断する
>>> t1*3
('a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c')
>>>
組み込み関数(最大値最小値)
>>> t1=('a','b','c')
>>> 'a' in t1
True
>>> 'a' not in t1
False
>>>
メタグループの遍歴
1)値の遍歴
>>> t1=('a','b','c')
>>> max(t1)
'c'
>>> min(t1)
'a'
>>>
2.索引遍歴
>>> tp=('python','java','c++')
>>> for i in tp:
... print(i,end=" ")
...
python java c++ >>>
3.索引-値、遍歴
列挙(enumerate)、リスト、文字列などの反復可能な(iterable)/遍歴可能なオブジェクトに対して、enumerateはインデックスと値を同時に得ることができるインデックスシーケンスを構成します.
tp=('python','java','c++')
>>> for i in range(len(tp)):
... print(tp[i],end=" ")
...
python java c++ >>>
2 Dタプル
>>> tp=('python','java','c++')
>>> for index,value in enumerate(tp):
... print(index,':',value)
...
0 : python
1 : java
2 : c
>>> tp=('python','java','c++')
>>> for index,value in enumerate(tp,6):
... print(index,':',value)
...
6 : python
7 : java
8 : c++
>>>
3 Dメタグループ
>>> tp=((1,2,3),(4,5,6),(7,8,9))
>>> tp[1][1]
5
>>>
復習する
>>> tp=(((1,2,3),(4,5,6),(7,8,9)),)
>>> tp[0][1][1]
5
>>>
>>> a=['a','b','c']
>>> b=['d','e','f']
>>> tuple(a)
('a', 'b', 'c')
>>> tuple(b)
('d', 'e', 'f')
>>> list(a)+list(b)
['a', 'b', 'c', 'd', 'e', 'f']
>>> a+b
['a', 'b', 'c', 'd', 'e', 'f']
>>> str(tuple(a))
"('a', 'b', 'c')"
>>> str(list(b))
"['d', 'e', 'f']"
>>>
考え:
シーン1
リストがある場合
demo:
: 、 、 , :
---info of Linus---
Name : Linus
Age : 18
job : IT
Hobbie: Read
-------end------
: 。
[
["Linus", 18, "IT", "Read"],
["Tom", 17, "IT", "Sing"],
....
]
「python」という名前を書き間違え、コードで修正する必要があります.
>>> li=['python','java','c++']
リストの順序が変更された場合は、次のようになります.
>>> li=['python','java','c++']
>>> li[0]='html'
>>> print(li)
['html', 'java', 'c++']
名前の修正を完了するには、この時点でマークを修正する必要があります.
>>> li=['python','java','c++']
複数のデータを格納しながら、エレメントにアクセスしやすいように必要なエレメントを特定する方法はありますか?
回答:
辞書
シーン2
学生情報リスト、各学生情報には学号、名前、年齢などが含まれていますが、どのようにして学生の情報を見つけますか?
>>> li=['python','java','c++']
>>> li[2]='python'
>>> print(li)
['python', 'java', 'python']
循環遍歴?これは面倒です.
実際の生活では、中国語の辞書や英漢の辞書などもよく使われています.
プログラム内の辞書:
studens=[201801,' ',18],[201802,' ',19],[201803,' '17]
ディクショナリ(dictionary)は、リスト以外のpythonで最も柔軟な組み込みデータ構造タイプです.ディクショナリは可変データ型であり、任意のタイプのオブジェクトを格納できます.リストは秩序化されたオブジェクト結合であり、辞書は無秩序なオブジェクト集合である.両者の違いは,辞書の要素がオフセットアクセスではなくキーによってアクセスされることである.
書式:
{key:value1,key:value2,…}
説明:
1.健-値対中間はコロン(":")で接続する.
2.key:valueは辞書の要素を構成します.
3.健-値対(要素)の間をカンマ(",")で区切る.
4.辞書全体をかっこ「{}」で包む.
辞書の作成
空の辞書を作成
info={"usrname":"Lilei","age":18,"Class":"one"}
複数の値を持つ辞書を作成
1.直接付与法:d={key 1:value 1,key 2:value 2}例えば:
>>> dict=()
>>> type(dict)
<class 'tuple'>
>>>
2,関数による辞書の作成(強制変換)
列:
>>> info ={"username":"limei","age":18}
>>> info
{'username': 'limei', 'age': 18}
>>>
3.辞書のfromkeysメソッドによる辞書の作成
1
>>> info = dict(usrname = "Lilei", age = 18, Class = "one")
>>> info
{'usrname': 'Lilei', 'age': 18, 'Class': 'one'}
2
>>> info = dict([['name', 'LiLei'], ['age', 18]])
>>> info
{'name': 'LiLei', 'age': 18}
3
>>> info = dict((('name', 'LiLei'), ('age', 18)))
>>> info
{'name': 'LiLei', 'age': 18}
4
>>> info = dict([('name', 'LiLei'), ('age', 18)])
>>> info
{'name': 'LiLei', 'age': 18}
2
5
>>> info = dict((['name', 'LiLei'], ['age', 18]))
>>> info
{'name': 'LiLei', 'age': 18}
>>>
辞書の一般的な操作
ディクショナリ値へのアクセス
辞書は無秩序で、インデックスで値を取得できません.
>>> info=dict.fromkeys("Hello")# , None;
>>> info
{'H': None, 'e': None, 'l': None, 'o': None}
>>> info=dict.fromkeys(["lilei","lee","jack"],"123456")#
“123456”
>>> info
{'lilei': '123456', 'lee': '123456', 'jack': '123456'}
>>>
>>> info=info[2]
Traceback (most recent call last):
File "" , line 1, in <module>
NameError: name 'info' is not defined
>>>
>>> info={"usename":"Lilei","age":18,"class":"one"}
>>> info["usename"]#
'Lilei'
>>> info["age"]
18
>>> info["usname"]# key,
Traceback (most recent call last):
File "" , line 1, in <module>
KeyError: 'usname'
>>>
高照老2019/3/26 11:25:35
増加
-新しいキーを直接追加-変数名['キー']=データを使用する場合、このキーは辞書に存在しません.この要素が追加されます.
>>> info={"name":"Lilei","age":18}
>>> info.get("name")
'Lilei'
# key , , None
>>> info.get("job")
>>> type(info.get("job"))
>>>
dict.update(dict1)
辞書dic 1のキー/値ペアをdicに更新する
-2つの辞書のキーが異なる場合、dic 1のキー値をdicに挿入します.-2つの辞書に同じキーがある場合、dic 1はditのキー値を上書きします.
dict.update(dict1)
辞書dic 1のキー/値ペアをdicに更新する
>>> info = {"name": "LiLei", "age": 18}
>>> info["job"]="it"
>>> info
{'name': 'LiLei', 'age': 18, 'job': 'it'}
>>>
削除
#
>>> info = {"name":"LiLei","age":18}
>>> info1 = {"job":"IT","salary":100000}
>>> info.update(info1)
>>> info
{'name': 'LiLei', 'age': 18, 'job': 'IT', 'salary': 100000}
>>> info
{'name': 'LiLei', 'age': 18, 'job': 'IT', 'salary': 100000}
>>> info1
{'job': 'IT', 'salary': 100000}
>>>
# ,
>>> info = {"name":"LiLei","age":18}
>>> info2 = {"name":"Tom","salary":10000}
>>> info.update(info2)
>>> info
{'name': 'Tom', 'age': 18, 'salary': 10000}
>>>
>>> info2
{'name': 'Tom', 'salary': 10000}
>>>
>>> info={'name':'tom','age':18,'salary':10000}
>>> del info["salary"]
>>> info
{'name': 'tom', 'age': 18}
>>>
>>> info={"name":"lilei","age":18}
>>> del info
>>> info
Traceback (most recent call last):
File "" , line 1, in <module>
NameError: name 'info' is not defined
>>>
>>> info={"name":"lilei","age":18}
>>> info.clear()
>>> info
{}
>>>
>>> info={'name':'tom','age':18,'salary':10000}
>>> info.pop("age")
18
>>> info
{'name': 'tom', 'salary': 10000}
>>>
改める
辞書の各要素のデータは修正できます.keyで見つけたら、修正できます.
>>> info={'name':'tom','age':18,'salary':10000}
>>> info.popitem()
('salary', 10000)
>>> info
{'name': 'tom', 'age': 18}
>>>
>>> info={'name':'tom','age':18,'salary':10000}
>>> info["name"]="lilei"
>>> info
{'name': 'lilei', 'age': 18, 'salary': 10000}
>>>
調べる
Python 2ではdict.has_key()は、keyが辞書にある場合、Trueを返します.そうでなければFalseに戻ります
# , ,
>>> info={'name':'tom','age':18,'salary':10000}
>>> info.setdefault("age",20)#
18
>>> info
{'name': 'tom', 'age': 18, 'salary': 10000}
# , ,
>>> info={'name':'tom','age':18,'salary':10000}
>>> info.setdefault("job","it")
'it'
>>> info
{'name': 'tom', 'age': 18, 'salary': 10000, 'job': 'it'}
>>>
辞書の遍歴
(1)辞書を巡る健(key)
>>> info={'name':'tom','age':18,'salary':10000}
>>> info.keys()
dict_keys(['name', 'age', 'salary'])
>>> info.values()
dict_values(['tom', 18, 10000])
>>> info.items()
dict_items([('name', 'tom'), ('age', 18), ('salary', 10000)])
>>> "age" in info
True
>>> "job" in info
False
>>>
(2)辞書を巡る値(value)
>>> info={"usrname":"lilei","age":18,"class":"one"}
>>> for key in info.keys()
File "" , line 1
>>> for key in info.keys():
... print(key,end="")
...
usrnameageclass>>>
(3)すべての項目を遍歴する(items)
>>> info = {"usrname":"Lelei","age":18,"Class":"one"}
>>> for value in info.values():
... print(value,end = " ")
...
Lelei 18 one >>>
(4)辞書を巡るキー値ペア(key-value)
>>> info = {"usrname":"Lelei","age":18,"Class":"one"}
>>> for item in info.items():
... print(item,end = " ")
...
('usrname', 'Lelei') ('age', 18) ('Class', 'one') >>>