① 一个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']#取值
就这么简单。
如果解决了您的问题请采纳!
如果未解决请继续追问