例子1:【一行代码修改字典键值的方法】
修改字典中的“xidu”的键值为“西毒”:
names={
'东邪':'黄药师','xidu':'欧阳锋','南帝':'段智兴','北丐':'洪七公','中神通':'王重阳'}
print(names)
names['西毒']=names.pop('xidu') #names[新键]=names.pop[旧键],字典的pop方法在删除元素的同事,会返回该元素的值。
print(names)
执行结果:
{‘东邪’: ‘黄药师’, ‘xidu’: ‘欧阳锋’, ‘南帝’: ‘段智兴’, ‘北丐’: ‘洪七公’, ‘中神通’: ‘王重阳’}
{‘东邪’: ‘黄药师’, ‘南帝’: ‘段智兴’, ‘北丐’: ‘洪七公’, ‘中神通’: ‘王重阳’, ‘西毒’: ‘欧阳锋’}
例子2:【字典和列表混合使用】
根据诗句猜对应的作者
import random
haoshi=[{
'题目':'白日依山尽,黄河入海流','作者':'王之涣','难度':'0.5','出题':'张老师'},
{
'题目':'会当凌绝顶,一览众山小','作者':'杜甫','难度':'0.6','出题':'啊老师',}]
zuozhe=''
while zuozhe != '不猜了':
i=random.randint(0,1)
print("这道题的难度系数是",haoshi[i]['难度'])
zuozhe=input('题目是:'+haoshi[i]['题目']+'请输入诗的作者:')
if zuozhe==haoshi[i]['作者']:
print('恭喜你,答对了')
elif zuozhe=='不猜了':
print('你又懒了')
break
else:
print('脑子不行哦')
执行结果:
这道题的难度系数是 0.5
题目是:白日依山尽,黄河入海流请输入诗的作者:王之涣
恭喜你,答对了
这道题的难度系数是 0.6
题目是:会当凌绝顶,一览众山小请输入诗的作者:不猜了
脑子不行哦
例子3:操作EXCEL
读取当天股市行情,并写入EXCEL保存。
import xlwings
import tushare as ts
#取得最新交易数据,并赋值给x
x=ts.get_today_all()
#创建新工作簿,并将x写入第一张工作表
app=xlwings.App() #打开app
wb=app.books.add() #创建工作簿
ws=wb.sheets[0] #选择第一个sheet
ws.range('B2').value=x #第一个sheet中的B2中赋值为X
#保存工作簿到1.xlsx,软后关闭窗口并退出excel
wb.save(r'C:\Users\14031\Documents\pydemo\1.xlsx')
wb.close()
app.quit()
执行结果:
例子4:使用字典统计词频
统计文章中的词频:
words={
'掉马':0,'媳妇':0,"老公":0,'时候':0}
#打开文件,并赋值给all
all=open(r'C:\Users\14031\Documents\pydemo\掉马后,我成了顶流.txt','r')
all_lines=all.readlines() #读取打开文件的内容到all_lines
for line in all_lines: #逐行读取文章
for word in words: #逐个读取wrods字典的键
#“掉马”的值(初始为0)=“掉马”的值(初始为0)+ 本次line中“掉马”的出现的次数
words[word]=words[word]+line.count(word)
print(words)
for k in words:
print(k,' 出现了',words[k],'次\n')
all.close() #关闭文件
执行结果:
{‘掉马’: 4, ‘媳妇’: 6, ‘老公’: 13, ‘的’: 9384}
例子5:读取目录下所有的文件
打开目录中excle并显示文件中指定位置的值
import os
import xlwings
ex_app= xlwings.App() #打开excel程序
#打开某个目录,walk遍历该目录下的文件,并存入变量。每个元素分三部分:路径、子文件夹、文件名
for a,b,c in os.walk(r'C:\Users\14031\Documents\pydemo'):
print(a,b,c)
for i in c: #C为所有文件名
if i[-4:].lower()=='.xls': #当最后四位为‘.xls’时 ,lower转换为小写
ex_bk=ex_app.books.open(a+'/'+i) #a和c拼接文件名和文件路径,打开该文件
ex_st=ex_bk.sheets['Sheet1'] #定位到这个文件中的sheet表,名称为‘Sheet1’
print(ex_st.range('A2').value) #读取该表中A2位置的值并打印
ex_app.quit() #退出excel程序
执行结果: