python--字典

目录

取出字典中的值和类型

字典的增加和修改

字典的删除

字典的遍历

字典的特点

字典生成式

字典:

键值对形式,无序,{key,value} key可以使字符串类型和数字类型,不能是列表。value 可以是任何类型。

最常用方式:使用花括号

scores={‘张三’:100,‘李四’:20,‘王五’:48}

使用内置函数dict()

dic(name='jack',age=200)加不加引号取决于数据类型

取出字典中的值和类型

scores={'张三':100,'李四':90}
keys=scores.keys()
print(keys)

values=scores.values()
print(values)
#取出字典中数据方法
#print(scores.values())
#字典.get(key)
print(scores.get('gender'))#如果key值不存在.get方法不会报错,只会输出none
#scores.get(key,数据值)  如果key值不存在,则返回数据值
print(scores.get('gender','男'))

items=scores.items()
print(items)
print(list(items))

字典的增加和修改:

dict = {'name':'张三'}
print(dict)

#字典中根据key值进行添加和修改数据
#若key值存在,则数据进行修改,若不存在,数据进行添加
dict['age'] = 18#ke值不存在,添加数据
print(dict)

dict['age'] =90#key值存在,修改数据
print(dict)

#注意:key值int的1和float的1.0相等
dict[1] = "int"
print(dict)
dict[1.0] = 'float'
print(dict)

字典的删除:

dict = {'name':'张三','age':19,'addr':'烟台'}
#根据key值删除数据    del字典名[key]
del dict['name']
print(dict)

#字典名.pop(key)  根据key值删除,返回值是对应value值
result = dict.pop('age')
print(dict)
print(result)

#字典名.clear()  清空字典,删除所有的键值对
dict.clear()
print(dict)

#del  字典名   直接将整个字典删除,后续代码不能继续使用这个变量名
del dict

字典的遍历

1.for循环

遍历字典中的键和值都需要用到FOR语句,for循环遍历的是字典的key值

dict = {'name':'张三','age':20,'addr':'蓬莱'}
for i in dict:
    print(i)

2.字典.keys()

dict = {'name':'张三','age':19,'addr':'烟台'}
#字典.keys()获取字典中所有的key值,得到的类型是dict_keys,该类型具有的特点是
#1.可以使用list()进行类型转换,即将其转换成列表类型
#2.可使用for循环,即可迭代
result = dict.keys()
print(result,type(result))
for key in result:
    print(key)

3.字典.values()

dict = {'name':'张三','age':19,'addr':'烟台'}
#字典.values()  获取所有的value值,得到的数据是dict_value类型,特点是
#1.可以使用list()进行类型转换,即将其转换成列表类型
#2.可使用for循环,即可迭代
for value in dict.values():
    print(value)

4.字典.items()

dict = {'name':'张三','age':19,'addr':'烟台'}
#字典.items()  获取所有键值对,类型是dict_items  key value组成元组类型
#1.可以使用list()进行类型转换,即将其转换成列表类型
#2.可使用for循环,即可迭代
result = dict.items()
print(result,type(result))
for item in dict.items():
    print(item[0],item[1])

#拆包
for k,v in dict.items():
    print(k,v)

字典的特点

字典中,键不可以重复,值可以重复;

字典中的元素都是无序的;

字典中的key必须是不可变对象;

字典也可以根据需要动态的伸缩;

字典会浪费较大内存,是一种使用空间换时间的数据结构

字典生成式

当键的数量和值的数量不一致时,以少的为准。

items=['Fruits','Book','Others']prices=[96,78,45]​d={item.upper():price for item,price in zip(items,prices)}print(d)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
python-docx模板是一个用于创建和编辑Word文档的Python模块。它依赖于两个库,python-docx用于读取、编写和创建子文档,jinja2用于管理插入到模板docx中的标签。使用python-docx-template模块,我们可以利用jinja2制作Word模板,并动态向模板中插入文字、图片、表格等内容。安装python-docx-template模块可以使用pip install python-docx-template命令进行安装。\[1\] 使用python-docx-template模块创建模板的基本思路是: 1. 使用jinja2语法制作Word模板,可以在模板中插入标签。 2. 使用python-docx-template模块读取模板文件。 3. 创建一个包含要插入到模板中的数据的字典。 4. 使用jinja2模块渲染模板,将数据插入到模板中。 5. 保存生成的Word文档。 例如,可以使用以下代码将一个图片插入到模板中: ``` from docxtpl import InlineImage, DocxTemplate from docx.shared import Mm # 打开docx文件 tpl = DocxTemplate('test.docx') # 要插入的数据信息 context = { 'template': 'Hello World!', 'myimage': InlineImage(tpl, 'happy.jpg', width=Mm(20)), } # 填充数据 tpl.render(context) # 保存文件 tpl.save('test_temp.docx') ``` 这段代码会将名为'test.docx'的模板文件中的'{{ template }}'和'{{ myimage }}'标签替换为相应的数据,并将生成的文档保存为'test_temp.docx'。\[3\] 除了插入图片,还可以使用类似的方法操作表格、插入文字等。具体的模板语法可以参考jinja2的文档。\[3\] #### 引用[.reference_title] - *1* *2* *3* [python操作word——python-docx和python-docx-template模块](https://blog.csdn.net/General_zy/article/details/125922126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZnancyJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值