Python--字典

字典是一种数据存储结构,由“键-值”对组成,没个元素表示一种映射或对应关系。

注意

(1)“键”是不可变数据(整数、实数、复数、字符串、元组,不可以是列表、集合、字典)

(2)“值”可以取任意数据类型

一、字典的创建

1、格式:直接创键:变量名={键1:值1,键2:值2。。。}

注意:字典中的各个元素无顺序

#创建空字典
#方法一
d={}
#方法二
d2=dict()

2、内置函数dict()函数

扩展:

zip()函数:把迭代对象作为参数,把对象中对应元素打包成元组。

3、fromkeys()方法创建字典(所有的键对应同一个值)

dict.fromkeys(seq[,value])

seq:"键"列表,value:"‘值’。

第一行代码创建字典时,"值"默认为None

注意:字典中的“键”是唯一的,若出现重复,后面的回覆盖前面“键-值” 

4、字典的访问

(1)根据键访问值:

字典中的每一个元素表示一种映射关系,把“键”作为下标求对应“值”,如果不存在则抛出异常。

格式:字典变量名[键]

(2)使用get()方法访问值

使用场景:不确定字典中是否有某个键,存在返回对应的“值”;不存在返回default的默认值,如果default未设值则默认返回None。

dict.get(key[,default=None])

 

二、字典的基本操作

1、修改和添加

(1)键存在,修改对应的键值

(2)键不存,添加新的键值

2、删除元素

(1)del命令:根据‘键’删除字典中的元素

(2)clear()方法:清除字典中的所有元素

(3)pop()方法:根据键删除键值对,并返回键所对应的值。

 如果删除的键不存在可设置默认值,返回默认值

(4)popitem()方法:随机删除一个键值对,并返回键值对

3、更新:键值对一次性全部添加到当前字典。

dict.update(dict2)

若出现重复,则以最新新为准。

4、复制:浅复制

dict.copy()

返回字典的浅复制


补充:

直接赋值:对象的引用

d2引用d时,d2或d父级或子级元素发生改变,另一方(d或d2)父级或子级元素也发生改变。

浅拷贝:复制父对象,引用对象内部的子对象

d2浅拷贝d时,d2父级元素发生改变,对应的d父级元素不发生改变;d2子级元素发生改变,对应的d子级元素发生改变。

深拷贝:完全复制

d2复制d,d2中无论是父级还是子级元素发生改变,对应d中的父级还是子级元素都不会发生改变。

三、字典的遍历

1、遍历历数组中所以的键-值对:dict.items()

2、遍历数组中所有的键:dict.keys()

3、遍历数组中所有的值:dict.values()

四、嵌套:在字典存储到列表,或列表作为值存在字典。

1、列表中嵌套字典

2、在字典中嵌套列表()

3、在字典中嵌套字典

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值