-->データ値を Key:value ペアに保存します
-->注文済み、変更可能、重複は許可されません。
演習:
1.
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) menu['pongal'] = 40 del menu['idli'] print(menu) print(menu['dosai'])
出力:
{'idli': 10, 'dosai': 20, 'poori': 30} {'dosai': 20, 'poori': 30, 'pongal': 40} 20
2.空の辞書にキー:値のペアを追加するには、get() 関数の使用法
time_table = {} time_table['tamil'] = 10 time_table['english']= 10 print(time_table) print(time_table['tamil']) print(time_table.get('tamil')) print(time_table.get('maths')) print(time_table['maths'])
出力:
{'tamil': 10, 'english': 10} 10 10 None KeyError: 'maths'
-->通常、辞書にないキーを入力すると、出力は KeyError になります。
-->代わりに get() 関数を使用すると、何も返されません。
3.キー、値、およびその両方を取得するには
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) print(menu.keys()) print(menu.values()) print(menu.items())
出力:
{'idli': 10, 'dosai': 20, 'poori': 30} dict_keys(['idli', 'dosai', 'poori']) dict_values([10, 20, 30]) dict_items([('idli', 10), ('dosai', 20), ('poori', 30)])
キー --> 辞書 (dict_name.keys()) からキーを出力します。
値 --> 辞書 (dict_name.values()) から値を出力します。
items-->辞書 (dict_name.items()) からキーと値をタプルとして出力します。
4.辞書からキー、値、項目を個別に取得します。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): print(fruit) for price in fruits_menu.values(): print(price) for fruit, price in fruits_menu.items(): print(fruit, price)
出力:
apple banana grapes 100 80 120 apple 100 banana 80 grapes 120
5.キーに文字「e」が含まれている場合は値を出力します。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): if 'e' in fruit: print(fruits_menu[fruit])
出力:
100 120
6.辞書をタプルまたはリストに変換します。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} print(list(fruits_menu)) print(tuple(fruits_menu))
出力:
['apple', 'banana', 'grapes'] ('apple', 'banana', 'grapes')
7.ネストされた辞書。
emp1 = {'name':'guru prasanna', 'qual':'B.Com'} emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'} print(emp1) print(emp2) employees = {101:emp1, 102:emp2} print(employees)
出力:
{'name': 'guru prasanna', 'qual': 'B.Com'} {'name': 'lakshmi pritha', 'qual': 'M.E'} {101: {'name': 'guru prasanna', 'qual': 'B.Com'}, 102: {'name': 'lakshmi pritha', 'qual': 'M.E'}}
8.辞書から従業員名のみを取得します。
emp1 = {'name':'guru prasanna', 'qual':'B.Com'} emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'} employees = {101:emp1, 102:emp2} print(employees) for roll_no, employee in employees.items(): for key, value in employee.items(): if key == 'name': print(employee[key])
出力:
{101: {'name': 'guru prasanna', 'qual': 'B.Com'}, 102: {'name': 'lakshmi pritha', 'qual': 'M.E'}} guru prasanna lakshmi pritha
9. B.com 従業員を一人にするため。
emp1 = {'name':'guru prasanna', 'qual':'B.Com'} emp2 = {'name':'lakshmi pritha', 'qual': 'M.E'} employees = {101:emp1, 102:emp2} for roll_no, employee in employees.items(): for key, value in employee.items(): if value == 'B.Com': print(employee['name'])
出力:
guru prasanna
10.各値の 10% を増加します。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.values(): fruit=fruit+(fruit/10) print(fruit)
出力:
110.0 88.0 132.0
11.キーを変換するには -->値と値 -->キー。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} new_menu = {} for fruit,price in fruits_menu.items(): new_menu[price] = fruit print(new_menu)
出力:
{100: 'apple', 80: 'banana', 120: 'grapes'}
辞書の理解
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} menu_dict = {(fruit,price) for fruit,price in fruits_menu.items()} print(menu_dict) menu_dict = {fruit: price for fruit,price in fruits_menu.items()} print(menu_dict) #To reverse key-->value and value-->key menu_dict = {price : fruit for fruit,price in fruits_menu.items()} print(menu_dict)
出力:
{('grapes', 120), ('apple', 100), ('banana', 80)} {'apple': 100, 'banana': 80, 'grapes': 120} {100: 'apple', 80: 'banana', 120: 'grapes'}
get()
get() メソッドは、指定されたキーを持つ項目の値を返します。
-->キーが辞書に存在しない場合は、何も返しません。
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} print(fruits_menu.get('apple',"not available")) print(fruits_menu.get('kiwi',"not available"))
出力:
100 not available
指定された文字列内の文字の頻度を検索します
#frequency of each letter in a given string freq = {} name = 'guruprasanna' for letter in name: freq[letter] = freq.get(letter,0)+1 print(freq)
出力:
{'g': 1, 'u': 2, 'r': 2, 'p': 1, 'a': 3, 's': 1, 'n': 2}
設定する辞書を変換するには
csk = {'dhoni':101, 'jadeja':102} india = {'virat':103, 'jadeja':102} print(set(csk)) print(set(india)) print(set(csk.keys())) print(set(india.keys()))
出力:
{'dhoni', 'jadeja'} {'virat', 'jadeja'} {'dhoni', 'jadeja'} {'virat', 'jadeja'}
setdefault()
--> setdefault() メソッドは、指定されたキーを持つ項目の値を返します。
-->キーが存在しない場合は、指定された値を使用してキーを挿入します。
csk = {'dhoni':101, 'jadeja':102} india = {'virat':103, 'jadeja':102} csk.setdefault('rohit',100) print(csk) csk.setdefault('dhoni',100) print(csk)
出力:
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) menu['pongal'] = 40 del menu['idli'] print(menu) print(menu['dosai'])
1.検索:
a) 両チーム共通
b) いずれかのチームに所属する
c) 合計プレイヤー名
{'idli': 10, 'dosai': 20, 'poori': 30} {'dosai': 20, 'poori': 30, 'pongal': 40} 20
出力:
time_table = {} time_table['tamil'] = 10 time_table['english']= 10 print(time_table) print(time_table['tamil']) print(time_table.get('tamil')) print(time_table.get('maths')) print(time_table['maths'])
2.文字列内の単語の頻度を調べます - 「バラはバラです」。
{'tamil': 10, 'english': 10} 10 10 None KeyError: 'maths'
出力:
menu = {'idli':10, 'dosai':20, 'poori':30} print(menu) print(menu.keys()) print(menu.values()) print(menu.items())
3.辞書で合計、平均、高スコアを検索します。
プレイヤー = {'jaiswal':75, 'rohit':55, 'virat':95}
{'idli': 10, 'dosai': 20, 'poori': 30} dict_keys(['idli', 'dosai', 'poori']) dict_values([10, 20, 30]) dict_items([('idli', 10), ('dosai', 20), ('poori', 30)])
出力:
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): print(fruit) for price in fruits_menu.values(): print(price) for fruit, price in fruits_menu.items(): print(fruit, price)
apple banana grapes 100 80 120 apple 100 banana 80 grapes 120
出力:
fruits_menu = {'apple':100, 'banana':80, 'grapes':120} for fruit in fruits_menu.keys(): if 'e' in fruit: print(fruits_menu[fruit])
以上がPython Day-Dictionary- 演習、タスクの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。