位置: 编程技术 - 正文

python dict 字典 以及 赋值 引用的一些实例(详解)(python中的字典怎么用)

编辑:rootadmin

推荐整理分享python dict 字典 以及 赋值 引用的一些实例(详解)(python中的字典怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python里的字典,python 字典的字典,pythonsorted字典,python 字典的字典,python字典 append,python字典x in d,python字典dict方法,python 字典的字典,内容如对您有帮助,希望把文章链接给更多的朋友!

最近在做一个很大的数据库方面的东东,要用到根据数值来查找,于是想到了python中的字典,平时没用过dict这个东东

用的最多的还是 list 和 tuple (网上查 用法一大堆)

看了一下创建字典的方法:

方法1:

dict = {'name': 'earth', 'port': }

方法2:

fdict = dict((['x', 1], ['y', 2]))

方法3:

ddict = {}.fromkeys(('x', 'y'), -1)

都实验了一下这些方法,发现不好用,做不出来自己想要的结果,因为数据库查找出来的结果是tuple类型的,不能改变,用方法2,必须得确保里面

是list (在这里提一下,tuple和list类型互换的方法 l=tuple(l) l = list(l))

在做练习的时候突然看到了一种方法,先声明一个

fdict= {}

然后

fdict[keys] = values

然后接下来继续循环这个式子就行了,结果能一个一个添加到fdict中,而不会被覆盖,以前还以为会默认覆盖成新的

用这种方法,一下就把结果转成了键值对

python中传值其实传的是地址:

例子:

a = [1,2,3,4]

b = a

a.append(1)

print a

print b

结果可以发现两个结果都为:[1,2,3,4,1]

这说明 python中的一个变量给另一个变量赋值时,传的是地址,所以当a指向的值变化时,b由于获得的是指向a的一个指针,所以结果也会

跟a的输出结果一样

python dict 字典 以及 赋值 引用的一些实例(详解)(python中的字典怎么用)

more experiments:

a = [1,2,3,4]

b = a

a += [1] #在尾部增加一个list值

print a

print b

可以看到结果为:

[1, 2, 3, 4, 1]

[1, 2, 3, 4, 1]

这个没有什么问题,还是跟上面的解释一样,传的是地址,无论a怎么添加,b都是跟a地址相同的输出

再看下一个实验:

a = [1,2,3,4]

b = a

a = a + [1] #在尾部增加一个list值

print a

print b

读者可以试着跑一下看看结果

运行的结果为:

[1,2,3,4,1]

[1,2,3,4]

这是为什么呢?

为什么 += 和分开相加之后就不同结果了呢

通过查资料,我确信了以下解释:

当a = a+[1]时,系统所做的是把a + [1]的结果先放到另外一个地址c中,然后再把a指向这个c地址,所以输出a的时候,结果是可想而知的

但是b还是指向以前a的位置,以前位置的值并没有变化,所以b才会输出这样一个令人稍感诧异的值

而+=操作,还是在原来a指向的地址上进行操作,所以b也会跟着变化

总结:python中一个变量给另一个变量进行赋值操作(=)时,传的不是值,而是指针地址,一定要谨慎操作,避免掉坑

以上这篇python dict 字典 以及 赋值 引用的一些实例(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

linux平台使用Python制作BT种子并获取BT种子信息的方法 本文实例讲述了linux平台使用Python制作BT种子并获取BT种子信息的方法。分享给大家供大家参考,具体如下:最近研究了一下linuxBT服务器环境的搭建,需

Python 字符串大小写转换的简单实例 ①所有字母都转换为大写#-*-coding:utf-8-*-if__name__=="__main__":a='hello,world!'print(a.upper())输出:HELLO,WORLD!②所有字母都转换为小写#-*-coding:utf-8-*-if__name__=="__main_

python实现的多线程端口扫描功能示例 本文实例讲述了python实现的多线程端口扫描功能。分享给大家供大家参考,具体如下:下面的程序给出了对给定的ip主机进行多线程扫描的Python代码#!/usr

标签: python中的字典怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/381336.html 转载请保留说明!

上一篇:Python使用中文正则表达式匹配指定中文字符串的方法示例(python怎么弄中文)

下一篇:linux平台使用Python制作BT种子并获取BT种子信息的方法(linux py)

  • 私立学校要交社保吗
  • 小规模纳税人应交增值税明细科目
  • 财务软件怎么样从捷软系统导出数据
  • 加计抵扣10%的进项税 会计处理
  • 年终奖分摊到每个月
  • 制造费用在借方表示什么
  • 贴现利息应计入什么费用
  • 培训发生的差旅费怎么记账
  • 个人独资企业的优缺点
  • 公司把钱借给个人
  • 公司购买车库是什么费用
  • 债券投资的风险主要有
  • 合作社增值税免税项目
  • 法人购买设备怎么入账
  • 供电局预收电费
  • 建筑工程劳务承包
  • 公司报销员工的首饰可以税前列支吗
  • 认缴制需要多久交完
  • 代开专票地税附加税申报办法
  • 申报个税按计提工资还是实际发放
  • 一般纳税人增值税结转账务处理
  • 原始股解禁后减持的条件是什么
  • 抵押房产可以买卖吗
  • 解除劳动关系取公积金
  • mac auto tune
  • 网速变慢的原因有哪些
  • 为什么windows10关机后自动开机
  • 腾达路由器默认网关
  • 你需要权限来执行操作是怎么回事
  • 预付款多长时间
  • 其他业务收入怎么申报增值税
  • autoreg.exe
  • windows不能打开exe文件
  • 公司购买二手车需要什么手续
  • 被税怎么办
  • python 字典的字典
  • php打不开网页
  • 财务公司可以开立一般账户吗
  • 所得税申报怎么弥补以前年度亏损
  • 同业代付业务会计核算
  • 土地使用税的征税范围有哪些
  • 费用报销做账分录
  • 付款给个人
  • 什么情况下需要做肠胃镜
  • 公司个人所得税申报操作流程
  • 应交税费企业所得税科目
  • sql server附加数据库出错
  • 福利费专票必须抵扣再转出吗
  • 待报解预算收入什么意思
  • 计划成本法有什么差异
  • 公司一年发两次奖金
  • 建筑业人工费怎么做账
  • 小规模公司购买成本票严重吗
  • 提前支付利息如何计算
  • 从农业生产者手中购进免税农产品
  • 什么是记账凭证?有哪些分类
  • mysql查询语句大全讲解
  • sqlserver的主数据库是什么
  • mysql8.0.23
  • mysql5.7解压版安装
  • xp系统连接共享文件夹
  • centos6.10安装教程详解
  • linux删除用户组和用户
  • win7系统怎么更改桌面图标大小
  • win1020h2版好不好
  • win8开始菜单没有了
  • 手把手教你在家制作豆腐脑
  • cocos2dx4.0教程
  • unity热更新一般更新什么
  • js基础笔记
  • [置顶]游戏名 TentacleLocker
  • angular卸载
  • unity屏幕坐标 ui坐标
  • 浅谈JavaScript事件的属性列表
  • js遍历foreach
  • java模拟支付功能
  • jquery源码解析
  • 湖北电子网上税务怎么交
  • 法人没有实名认证,现在要变更,还需要实名认证吗
  • 上海个税100万元工资多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设