1. 程式人生 > >字典setdefault方法的學習

字典setdefault方法的學習

append iterable tro urn 是否可用 方法 The 一個 ron

Python 字典 setdefault() 函數和get() 方法類似, 如果鍵不存在於字典中,將會添加鍵並將值設為默認值。

語法:

dict.setdefault(key, default=None)

實例:

dict = {runoob: 菜鳥教程, google: Google 搜索}
 
print "Value : %s" %  dict.setdefault(runoob, None)
print "Value : %s" %  dict.setdefault(Taobao, 淘寶)

代碼:

#!./usr/bin/env python
# -*- coding: utf-8 -*- # Date: 2019/2/28 iterable = {user: alex, user1: wusir, user2: xdc} values = {user: [sch]} other_value = test # demo1 for element in iterable: if element not in values: values[element] = [] values[element].append(other_value) print
(iterable)  # {‘user2‘: ‘xdc‘, ‘user‘: ‘alex‘, ‘user1‘: ‘wusir‘} print(values)   # {‘user2‘: [‘test‘], ‘user‘: [‘sch‘, ‘test‘], ‘user1‘: [‘test‘]} # demo2 for element in iterable: values.setdefault(element, []).append(other_value) print(iterable)  # {‘user2‘: ‘xdc‘, ‘user‘: ‘alex‘, ‘user1‘: ‘wusir‘}
print(values)   # {‘user2‘: [‘test‘, ‘test‘], ‘user‘: [‘sch‘, ‘test‘, ‘test‘], ‘user1‘: [‘test‘, ‘test‘]}

擴展應用場景

可以思考一下是否可用於評率限制

邏輯:

以用戶的唯一標示為鍵,再以用戶的訪問記錄的列表為值;在用戶下一次訪問時判斷列表的最後一個是否小於(當前時間-頻率時間);如果小於,則剔除;
然後再判斷列表的長度時候超過頻率數,如超過,則return false,else true

數據結構:

{
192.168.1.2:[234234234,234234228,234234210],
192.168.1.3:[234234234,234234228,234234210],
}

字典setdefault方法的學習