python(dict字典相關知識以及小例子:生成一個列表,存放100個隨機整數,找出出現次數最多的數字)
阿新 • • 發佈:2019-02-07
一、什麼是字典?
#字典的使用
#子字典是一個容器類,可以用來儲存資料
#列表儲存資料特點:1、有序的 2、每一個都有一個索引,通過索引可以對資料進行查詢,修改,刪除
#字典儲存資料: key:value(鍵值對)
#key 必須是唯一不可變的,一般使用字串作為字典中的key,也可使用數字等不可變型別的值。如果有多個相同key的情況,保留最後一個key對應的值
#字典中儲存的資料是沒有順序的
dict_1 = {'name':'zhangsan','age':22,'phone':110,'sex':'男'}
二、字典取值方法
#1.根據key取出字典中的值 # name = dict_1['name'] # print(name) #2.get(key,default)函式 獲取字典中對應key值,如果key不存在,取預設值。若存在,取出對應結果 name = dict_1.get('name','0') print(name)
#1. 獲取字典中所有的key keys = dict_1.keys() #獲取keys型別 # print(type(keys)) #取出所有的keys for key in keys: #根據key取出對應的值 value = dict_1[key] print('%s:%s'%(key,value)) #2.獲取字典中所有的value values = dict_1.values() #for迴圈取出所有的value for value in values: print(value) #3.獲取字典中所有的鍵值對 #items不可變,可作為key值 items = dict_1.items() # [('sex', '男'), ('phone', 110)] #for 迴圈遍歷items for item in items: #從元組中根據索引來取出資料 key = item[0] value = item[1] print('鍵:%s 值:%s'%(key ,value))
三、向字典中新增資料
#向字典中新增資料
#如果key不存在,就新增資料。如果存在就修改key對應的值
dict_1['sss'] = '4s'
print(dict_1)
四、刪除字典中資料
五、小例子#1.根據key刪除字典中的資料 del dict_1['sss'] print(dict_1) #2.pop(key) key是必要引數,要移出資料對應的key s = dict_1.pop('name') print(s) #3.popitem() 隨機從字典中取出一個鍵值對,並且將鍵值放在元組中 如:('phone',110) s = dict_1.popitem() print(s) #4.刪除字典中所有的鍵值對 # dict_1.clear() # print(dict_1)
要求如下:
生成一個列表,存放100個隨機整數,找出出現次數最多的數字(可能不止一個)
程式碼如下:#老師的程式
import random
#列表推導式、生成式
numbers = [random.randint(0,100) for x in range(100)]
#[最終放在列表中的資料 for 迴圈
# number2 = [x for x in range(100)]
result_dict = {}
for num in numbers:
#獲取數字在字典中出現的次數
count = numbers.count(num)
#把數字作為key,出現的次數作為value
result_dict[num] = count
# print(result_dict)
#找出字典中最大的值 這個值就是最高次數
h_count = max(result_dict.values())
# print(h_count)
for item in result_dict.items():
#item 鍵值對的小元組
value =item[1]
if value == h_count:
key = item[0]
print('出現次數最多的數字為:%s,次數為:%s'%(key,value))
#我的程式
list_2 = []
dict_2 = {}
import random
i = 100
while i:
num = random.randint(0,100)
list_2.append(num)
i -= 1
for x in range(0,len(list_2)):
num = list_2[x]
counts = list_2.count(num)
dict_2[num] = counts
count = max(dict_2.values())
for item in dict_2.items():
value = item[1]
if value == count:
key = item[0]
print('數字:%s 次數:%s'%(key,value))