① 一個python字典功能的程序
1.傳統的文字表達式:
>>>
d={'name':'allen','age':21,'gender':'male'}>>>
d
{'age':
21,
'name':
'allen',
'gender':
'male'}123
如果你可以事先拼出整個字典,這種方式是很方便的。
2.動態分配鍵值:
>>>
d={}>>>
d['name']='allen'>>>
d['age']=21>>>
d['gender']='male'>>>
d
{'age':
21,
'name':
'allen',
'gender':
'male'}123456
如果你需要一次動態地建立一個字典的一個欄位,那麼這種方式比較合適。
字典與列表不同,不能通過偏移量進行復制,只能通過鍵來讀取或賦值,所以也可以這樣為字典賦值,當然訪問不存在的鍵會報錯:
>>>
d[1]='abcd'>>>
d
{1:
'abcd',
'age':
21,
'name':
'allen',
'gender':
'male'}>>>
d[2]
traceback
(most
recent
call
last):
file
"
",
line
1,
in
d[2]
keyerror:
212345678
3.字典鍵值表
>>>
c
=
dict(name='allen',
age=14,
gender='male')>>>
c
{'gender':
'male',
'name':
'allen',
'age':
14}123
因為這種形式語法簡單,不易出錯,所以非常流行。
這種形式所需的代碼比常量少,但是鍵必須都是字元串才行,所以下列代碼會報錯:
>>>
c
=
dict(name='allen',
age=14,
gender='male',
1='abcd')syntaxerror:
keyword
can't
be
an
expression12
4.字典鍵值元組表
>>>
e=dict([('name','allen'),('age',21),('gender','male')])>>>
e
{'age':
21,
'name':
'allen',
'gender':
'male'}123
如果你需要在程序運行時把鍵和值逐步建成序列,那麼這種方式比較有用。
5.所有鍵的值都相同或者賦予初始值:
>>>
f=dict.fromkeys(['height','weight'],'normal')>>>
f
{'weight':
'normal',
'height':
'normal'}
② Python簡單的字典代碼
如果是python2 用raw_input()
如果是python3 輸入字元串(帶引號)
另外 你的break條件會使input在做無用功因為key1和key2將永遠是''
③ python中怎麼取出字典的鍵
舉例如下:
1、新增python文件,testdictkey.py;
④ 用Python創建一個學生字典並可以查詢其中信息
你可以試試這個----------------------------------------------------------
# -*- coding:UTF-8 -*-
students=[]
def meun():
print("="*30)
print("*"*10+"學生信息管理"+"*"*10)
print("1.添加學生信息")
print("2.刪除學生信息")
print("3.指定學號查詢學生信息")
print("4.查詢全部學生信息")
print("5.保存信息")
print("0.退出系統")
print("="*30)
def add_new_info():
global students
print("您選擇了添加學生信息功能")
name = input("請輸入學生姓名:")
stuId = input("請輸入學生學號(學號不可重復):")
age = input("請輸入學生年齡:")
#驗證學號是否唯一
i = 0
leap = 0
for temp in students:
if temp['id'] == stuId:
leap = 1
break
else:
i = i + 1
if leap == 1:
print("輸入學生學號重復,添加失敗!")
break
else:
# 定義一個字典,存放單個學生信息
stuInfo = {}
stuInfo['name'] = name
stuInfo['id'] = stuId
stuInfo['age'] = age
# 單個學生信息放入列表
students.append(stuInfo)
print("添加成功!")
def del_info():
global students
print("您選擇了刪除學生功能")
delId=input("請輸入要刪除的學生學號:")
#i記錄要刪除的下標,leap為標志位,如果找到leap=1,否則為0
i = 0
leap = 0
for temp in students:
if temp['id'] == delId:
leap = 1
break
else:
i=i+1
if leap == 0:
print("沒有此學生學號,刪除失敗!")
else:
del students[i]
print("刪除成功!")
def search_info():
global students
searchID=input("請輸入你要查詢學生的學號:")
#驗證是否有此學號
i = 0
leap = 0
for temp in students:
if temp['id'] == searchID:
leap = 1
break
else:
i = i + 1
if leap == 0:
print("沒有此學生學號,查詢失敗!")
else:
print("找到此學生,信息如下:")
print("學號:%s 姓名:%s 年齡:%s "%(temp['id'],temp['name'],temp['age']))
def print_all_info():
print("序號 學號 姓名 年齡")
for temp in students:
print("sno:%s,stuName:%s,stuAge:%s" %(temp['id'],temp['name'],temp['age']))
print("*"*20)
def loda_data():
#加在之前存儲的數據
global students
f = open("info_data.data")
content = f.read()
info_list = eval(content)
f.close()
def main():
#加在數據(先存好數據,在打開這個數據直接讀取數據)
#load_data()
while True:
#1.列印工程
meun()
#2.獲取用戶的選擇
key = input("請輸入要進行的操作):")
#3.根據用戶的選擇,作出相應的事件
if key == "1":
add_new_info()
elif key == "2":
del_info()
elif key == "3":
search_info()
elif key == "4":
print_all_info()
elif key == "5":
save_data()
elif key == "0":
exit_flag = input("你確定要退出嗎?(yes or no)")
if exit_flag == "yes":
break
else:
print("輸入有誤,請重新輸入。。。")
input(" 按回車鍵可以繼續。。。")
continue
#程序開始
main()
摘自網頁鏈接-------------------------------------------------------------------
請採納,謝謝
⑤ python字典,如何查找值中包含指定字元串的鍵
1、說明python中檢測字典的鍵中是否含有某串字元,便利字典鍵值,再判斷字元串是否在鍵值中即可。2、示例代碼:# 定義一個字典dic = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}# 遍歷字典鍵中是否包含1984for key in dic: if '1984' in key: print('鍵值中包含字元串"1984"') # 或者需要的其它操作 else: print('鍵值中不包含字元串"1984"')3、執行結果:鍵值中包含字元串"1984"鍵值中不包含字元串"1984"鍵值中包含字元串"1984"
4、其它說明:python使用for in直接操作字典就是遍歷字典的鍵值,python使用in操作來判斷字元串中是否包含子串最方便,要優於使用字元串的函數index或者find。
index函數在找不到子串時會報錯,find函數會返回-1。
⑥ python怎樣順序查詢字典中的鍵
dict使用items()遍歷字典的方法(python3是items(),python2是iteritems())。
dict1={'a':2,'b':3,'c':2}
defdict(value):
fork,vindict1.items():
ifv==value:
print("{%s:%s}"%(k,v))
dict(2)
⑦ python 值在數組或字典的查詢
#不求分只為學習交流~~
importitertools
a=[[1,2],[3,4,5],[6,8]]
b=[3,5]
#查找[3,5]in[3,4,5]
foriina:
print'bisina:',tuple(b)inlist(itertools.combinations(i,2))
#查找[3,5]in[3,4,5]以及[5,3]in[3,4,5]
b=[5,3]
foriina:
print'bisina:',tuple(b)inlist(itertools.permutations(i,2))
ps:數據量大也沒有辦法,又不能像資料庫存儲有索引分區等等,只有逐個遍歷
⑧ Python:在語句里查詢字典所含的字元並print該字元
#找出句子中出現在詞典中的詞
word_set={'apple','doctor','day','mmy'}
sentence='Anappleadaykeepsthedoctoraway'
forwordinsentence.split():
ifword.lower()inword_set:
print(word)
⑨ python如何檢測字典的鍵中是否含有某串字元
1、說明
python中檢測字典的鍵中是否含有某串字元,便利字典鍵值,再判斷字元串是否在鍵值中即可。
2、示例代碼:
# 定義一個字典
dic = {'1984/1/2': 123, '1984/1/3': 0, '1985/1/1': 156}
# 遍歷字典鍵中是否包含1984
for key in dic:
if '1984' in key:
print('鍵值中包含字元串"1984"')
# 或者需要的其它操作
else:
print('鍵值中不包含字元串"1984"')
3、執行結果:
鍵值中包含字元串"1984"
鍵值中不包含字元串"1984"
鍵值中包含字元串"1984"
4、其它說明:
python使用for in直接操作字典就是遍歷字典的鍵值,python使用in操作來判斷字元串中是否包含子串最方便,要優於使用字元串的函數index或者find。
index函數在找不到子串時會報錯,find函數會返回-1。
⑩ python 中怎麼把數據寫入 字典 並查詢
m=dict()
#m={}
m['a']=1#賦值
m['b']=2
printm['a']#取值
就這么簡單。
如果解決了您的問題請採納!
如果未解決請繼續追問