1. json.dumps和json.loads
JSONモジュールは、エンコードとデコードデータJSONに非常に簡単な方法を提供します。前記2つの主な機能は、そのようなライブラリの他の配列がはるかに少ないインタフェースを酸洗いより、)(json.dumps()とjson.loadsあります。
1.1以下は、JSONにPythonのデータ構造を変換する方法を示しています。
インポートのJSON データ= { '名前': 'ACME'、 '共有' 100、 '価格':542.23 } json_str = json.dumps(データ)
1.2以下は、データ構造のPythonにどのようにJSONエンコードされた文字列の背面を示しています。
データ= json.loads(json_str)
1.3あなたがに対処したい場合は、代わりに文字列のファイルである、あなたは(json.dump使用することができます)とjson.load()エンコードとデコードJSONデータへ。例えば:
#写入JSON文件 (オープンと' data.json '、' W ' Fとして): json.dump(データ、F) #读取JSON文件 (オープンと' data.json '、' R ' Fとして): データ = json.load(F)
2.イテレータ
1.1反復可能オブジェクト
我々はすでに、ループがデータ型に直接作用することができ、次のされているために、知っています:
クラスは、のようなリスト、タプル、辞書、集合、STR等のデータタイプのコレクションです。
一つは、発電機と収率ジェネレータ関数のバンドを含む、発電機です。
反復処理可能:これらは、ループイテラブル用として参照されるオブジェクトに直接作用することができます。
(でisinstanceを使用することができます)オブジェクトがオブジェクト反復処理可能であるか否かを判断します。
1.2イテレータ
最後のエラーがスローされるまで、発電機だけではなく、ループのために行動することができ、あなたは次の()関数は、次の値を呼び出し、リターンを続けてすることができます呼び出すとStopIterationが、それは次の値を返すために続行できませんでしたと述べました。
次のかもしれ()関数呼び出しと次の目標値への復帰は、継続的に反復子を呼ば:イテレータ。
(でisinstanceを使用することができます)オブジェクトがオブジェクトイテレータであるか否かを判断します。
ジェネレータイテレータオブジェクトがありますが、反復処理可能ではなく、イテレータしかし、リスト、辞書、STR。
リスト、辞書は、strが反復処理可能イテレータのようになるITER()関数を使用することができます
3.閉鎖
ローカル変数内の関数が返す関数は関数を返すとき、関数参照内のそのローカル変数は、また新しいものであるので、こと、参照引数を定義し
DEF )(カウント: FS = [] のための I における(1、4レンジ:) DEF )(F: 戻る私は* iが (F)fs.append リターンFS F1、F2、F3 =カウント()を
4.辞書の操作
ディクショナリに格納されている生徒の数学スコア、80より前記スクリーニングフラクション大きい分学生 からランダムインポートrandint D = {X randint(50,100)用 X における範囲(1,21 )} RES V:= {K 用の K、V で d.items()IF V> 80 } のフィルタ機能 データ = {-1、-5、-8,0、2 ,. 6 ,. 8、89 } RES =リスト(フィルタ(ラムダ X:X> = 0、データ) プリント)(RESの 式を使用してリストを派生:RES = {I のための I におけるデータIF I> 0}