data['middle'] = {}
data['last'] = {}
def lookup(data, label , name):
return data[label].get(name) #2
def store(data, full_name):
names = full_name.split()#3
if len (names) == 2: names.insert(1, '')# 4
labels = 'first', 'middle', 'last'
ラベルの場合、zip 内の名前(labels, names):# 5
people = lookup(data, label, name)
if people:
people.append(full_name)#6
else:
data[label][name] = [full_name]
使用:
コードをコピー
コードは次のとおりです: MyNames = {} init(MyNames)
store(MyNames, 'マグナス・リー・ヘトランド')
lookup(MyNames, 'middle', 'Lie') #['マグナス・リー・ヘトランド']
理解:
1、データのデータ構造は次のとおりです: { 'middle': {}, 'last': {}, 'first': {}}
2、getメソッドは構造に従って値
3 を見つけます。文字列の分割メソッドは区切り文字を追加できます。デフォルトはスペースです。 区切り文字として:
コードをコピー
コードは次のとおりです: test = 'a,2,d' test.split(',') #['a', '2', 'd']
name = 'my xy dd'
names = name.split()
names #['my', 'xy', 'dd']
4. 挿入するときは、次の値は逆になります。置換として理解しないでください。
コードをコピー
コードは次のとおりです: names.insert (1, '') names #['my', '', 'xy', 'dd']
5、zip メソッドの記述例:
コードをコピー
コードは次のとおりです: x = [1, 2 , 3] y = [4, 5, 6]
zip = zip(x, y)#(1, 4), (2, 5), (3, 6)
6. 探している名前はすでにこのラベルに存在するので、フルネームを追加します
パラメータの * と ** について
*: 任意の数のパラメータを表します
**: 辞書パラメータを表します
例:
コードをコピー コードは次のとおりです:
def print_params_2(title, *params):
タイトルを印刷
パラメータを印刷
print_params_2('Params:', 1, 2, 3)
結果は
Params:
(1, 2, 3)
コードをコピー コードは次のとおりです:
def print_params( **params):
print params
print_params(x=1, y=2, z=3)
結果は次のとおりです: {' z': 3, 'x': 1, 'y': 2}
* と組み合わせると、名前の保存方法を改善できます:
コードをコピー コードは次のとおりです。
def store(data, *full_names):
for full_name in full_names:
names = full_name.split()
if len(names) == 2: names.insert(1, ' ')
labels = 'first', 'middle', 'last'
ラベルの場合、zip 内の名前(labels, names):
people = lookup(data, label, name)
if people:
people.append(full_name)
else:
data[label][name] = [full_name]
呼び出し:
コードをコピー コードは次のとおりです:
d = {}
init( d)
store(d, 'ハン・ソロ')
ストア (d, 'ルーク・スカイウォーカー', 'アナキン・スカイウォーカー')
lookup(d, 'last', 'スカイウォーカー')#['ルークスカイウォーカー』、『アナキン・スカイウォーカー』]
概要:
仕事では必要ありませんが、勉強して自分を豊かにする時間を取るのは良いことです。
ノートは読書や勉強に使えます。将来これを見たときに、落ち込んだり傲慢になったりしないように願っています。少しずつ勉強することは将来役に立たないかもしれませんが、忍耐力はあるかもしれません。このようにして練習する必要があります。
次に進みましょう!