字典 dict

  字典是python中惟一的映射類型,python對key進行哈希函數運算,根據計算的結果決定value的存儲地址,因此字典是無序存儲的,且key必須是可哈希的。可哈希表示key必須是不可變類型,如:數字、字符串、元組。

  字典(dictionary)是除列表之外python之中最靈活的內置數據結構類型。列表是有序的對象結合,字典是無序的對象集合。二者之間的區別在於:字典當中的元素是經過鍵來存取的,而不是經過偏移存取。

dic['li'] = ["a","b","c"]print(dic) setdefault 在字典中添加鍵值對,若是隻有鍵那對應的值是none,可是若是原字典中存在設置的鍵值對,則他不會更改或者覆蓋。
# dic.setdefault('k','v')
# print(dic)  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
# dic.setdefault('k','v1')  # {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
# print(dic)

dic['name'] = 'jinxin'
print(dic)
update 將dic1 裏面的鍵值對覆蓋並添加到dic裏面 dic.update(dic1)
print(dic) print(dic1)

dic_pop = dic.pop("a",'無key默認返回值') # pop根據key刪除鍵值對,並返回對應的值,若是沒有key則返回默認返回值v 
del dic["name"]  # 沒有返回值。print(dic)

dic_pop1 = dic.popitem()  # 隨機刪除字典中的某個鍵值對,將刪除的鍵值對以元祖的形式返回print(dic_pop1)  # ('name','jin')

dic_clear = dic.clear()  # 清空字典print(dic,dic_clear)  # {} Non

value1 = dic["name"]  # 沒有會報錯

value2 = dic.get("djffdsafg","默認返回值") # 沒有能夠返回設定的返回值

# dic = {"name":"jin","age":18,"sex":"male"}
# for key in dic:
#     print(key)
# for item in dic.items():
#     print(item)
# for key,value in dic.items():
#     print(key,value) 

其餘操做。

# item = dic.items()
# print(item,type(item))  # dict_items([('name', 'jin'), ('sex', 'male'), ('age', 18)]) <class 'dict_items'>
# 這個類型就是dict_items類型,可迭代的

# keys = dic.keys()
# print(keys,type(keys))  # dict_keys(['sex', 'age', 'name']) <class 'dict_keys'>

# values = dic.values()
# print(values,type(values))  # dict_values(['male', 18, 'jin']) <class 'dict_values'> 同上

字典的循環

# dic = {"name":"jin","age":18,"sex":"male"}
# for key in dic:
#     print(key)   # name age sex
# for item in dic.items():
#     print(item)  #('name', 'jin')('age', 18)('sex', 'male')
# for key,value in dic.items():
#     print(key,value)  #name  jinage 18  sex male
for i in dic.values():
  print(i) #jin 18 male

三,其餘(for,enumerate,range)。

for循環:用戶按照順序循環可迭代對象的內容。python

複製代碼
msg = '老男孩python是全國範圍內最好的python培訓機構'
for item in msg:
    print(item)

li = ['alex','銀角','女神','egon','太白']
for i in li:
    print(i)

dic = {'name':'太白','age':18,'sex':'man'}
for k,v in dic.items():
    print(k,v)
複製代碼

enumerate:枚舉,對於一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它能夠同時得到索引和值。數據結構

複製代碼
li = ['alex','銀角','女神','egon','太白']
for i in enumerate(li):
    print(i)                        #(0,「alex」)(1,「銀角」)...
for index,name in enumerate(li,1):
    print(index,name)               #1 alex   2 銀角 ...
for index, name in enumerate(li, 100):  # 起始位置默認是0,可更改
    print(index, name)    
複製代碼

range:指定範圍,生成指定數字。函數

for i in range(1,10):  #左包右不包
    print(i)

for i in range(1,10,2):  # 步長
    print(i)

for i in range(10,1,-2): # 反向步長
    print(i)
相關文章
相關標籤/搜索