前のセクションでは、辞書メソッドについて学びました。この章では、ハイブリッド辞書、辞書走査、辞書導出について学びます。
いわゆる混合辞書とは、辞書に格納されるデータがさまざまなタイプの混合であることを意味します。キーは不変のデータ型である必要がありますが、値は任意の型のオブジェクトにすることができます。
まず混合辞書を見てみましょう。
my_dcit={'Xiao Ming': ['身長: 170cm', '体重: 65kg'], 'Xiao Li': '学ぶことが好き、スポーツが大好き', 'Xiaohua': ('居住地: 蘇州', '出生地: 上海' ')}
この辞書の値はリスト、文字列、タプルで構成されており、前のセクションの方法でこの混合辞書にアクセスできます。次のコードを見てください。
my_dcit={'Xiao Ming': ['身長: 170cm', '体重: 65kg'], 'Xiao Li': '学ぶことが好き、スポーツが大好き', 'Xiaohua': ('居住地: 蘇州', '出生地: 上海' ')}print('アクセスキー='暁明'->',my_dcit['暁明'])print('アクセスキー='暁華'->',my_dcit['暁李'])print('アクセスkey='Xiaohua'->',my_dcit['Xiaohua'])print('itmes() メソッド:',my_dcit.items())#全体的なアクセス print('keys() メソッド:',my_dcit.keys() )#すべてにのみアクセスしました keyprint('values() メソッド:',my_dcit.values())#のみにアクセスしました valueprint('get() メソッド:',my_dcit.get('Xiao Ming'))#get にアクセスするメソッド指定されたキー my_dcit.pop('Xiao Ming') #このステップは、pop() メソッドであり、key = 'Xiao Ming' でペアになった要素を削除します print('pop() メソッド後の my_dict: ', my_dcit) #削除後の辞書を表示する
出力を見てみましょう。
アクセスキー='暁明'->['身長:170cm', '体重:65kg'] アクセスキー='暁華'->勉強好き、スポーツ好き アクセスキー='暁華'->('居住地:蘇州', '出身地: 上海') itmes() メソッド: dict_items([('シャオ・ミン', ['身長: 170cm', '体重: 65kg']), ('シャオ・リー', '勉強好き、スポーツ好き' ), ('Xiaohua',('居住地: 蘇州', '出生地: 上海'))])keys() メソッド: dict_keys(['Xiaoming','Xiaoli','Xiaohua'])values () メソッド: dict_values([ ['身長: 170cm', '体重: 65kg'], '勉強好き、スポーツ好き', ('居住: 蘇州', '出生地: 上海')]) get() メソッド :['身長: 170cm', '体重: 65kg'] my_dict after Pop() メソッド: {'Xiao Li': '学習が好き、スポーツが好き', 'Xiaohua': ('居住地: 蘇州',' 出生地: 上海')}
辞書を使用するときは、多くの場合、辞書を走査する必要があります。通常、辞書内のすべてのキーを走査するためにfor ループを使用します。
一般的なトラバーサル アクセスを見てみましょう。
>>>my_dict={1001:'Xiaoming',1002:'Xiaohua',1003:'Xiaozhang'}>>>foriinmy_dict:print(i,my_dict[i])#出力キーとキーに対応する値 1001Xiao Ming 1002 シャオファ 1003 シャオ・チャン
また、オブジェクトを取得するときに、 items()メソッドを使用して要素のペアを取得します。
>>>my_dict={1001:'シャオミン',1002:'シャオファ',1003:'シャオチャン'}>>>foriinmy_dict.items():print(i)(1001,'シャオミン')(1002 、'小華')(1003、'小張')
このアクセス方法は、対向辞書内のデータのペアであり、出力結果はタプル形式で出力されますが、同時にループトラバーサルにより各トラバーサルのキーと値を直接取得できます。
>>>my_dict={1001:'小明',1002:'小華',1003:'小張'}>>>fori,jinmy_dict.items():print('対応するキー:',i,'対応する値:',j) 対応キー:1001 対応値:Xiao Ming 対応キー:1002 対応値:Xiao Hua 対応キー:1003 対応値:Xiao Zhang
最後に、演習を通じて辞書のトラバースを練習します。
辞書の導出は比較的特殊なので、タプルの導出はリストの導出と似ています。ここでは辞書の導出について説明します。
まずは簡単な使い方を見てみましょう。
>>>my_dict={i:'dotcpp'foriinrange(1,5)}>>>my_dict{1:'dotcpp',2:'dotcpp',3:'dotcpp',4:'dotcpp'}
ここでは、辞書導出の構造を見ていきます。最初の部分は、「dotcpp」を使用して各 i の値オブジェクトを割り当てるのと同じです。最初にリストを定義し、そのリストに値を割り当てることもできます。
>>>my_list=[10,20,30,40,50]>>>my_dict={i:my_list[i]foriinrange(1,5)}>>>my_dict{1:20,2:30,3: 40、4:50}
下の写真を見てください。
辞書導出を使用する場合、主な問題はキーと値の一致です。後で関数を学習した後、zip() 関数を使用して辞書をより便利に結合できます。ここではあまり紹介しません。
ユーザーは総資産 (例: 3000) を入力する必要があります。その後、ショッピング カートのリストが表示され、ショッピング カート内の商品の合計金額が計算されます。商品の合計金額が総資産より大きい場合は、アカウントの残高が不足していることを示すメッセージが表示されます。それ以外の場合、購入は成功します。ショッピング カートのリストは次のとおりです: カート=[{名前: ベッド, 価格: 1999, "番号": 1}, {名前: 枕, 価格: 10, " 番号 ": 2}, {名前: キルト, 価格: 20、「番号」:1}]。
解決策は最後にあります。
辞書は Python を学習するときに比較的一般的に使用されるデータ構造ですが、その独自性により、コンテストの質問では辞書に関する単語が比較的少ない場合がありますが、Python コースの学習や検査では辞書を使用すると役立ちます。対応するデータを正確に見つけ、リストと辞書を上手に使いこなすことは、Python をより良く学ぶのに役立ちます。
カート=[{名前:ベッド,価格:1999,"番号":1},{名前:枕,価格:10,"番号":2},{名前:キルト,価格:20,"番号":1} ]。 m=int(input())sum=0foriinrange(len(carts)):sum=carts[i]['price']*carts[i]['num']+sumfm>=sum:print('購入成功')else:print('アカウント残高が不足しています')