python面试题之列表声明实例分析


Posted in Python onJuly 08, 2019

本文实例讲述了python面试题之列表声明。分享给大家供大家参考,具体如下:

下面程序输出的结果为?

val = [['a']*2]*2
print val
val[0][1]='b'
print val

答案为:

[['a', 'a'], ['a', 'a']]
[['a', 'b'], ['a', 'b']]

而不是

[['a', 'a'], ['a', 'a']]
[['a', 'b'], ['a', 'a']]

请看下面的例子:

val = ['a']*2  #或者直接声明val = ['a','a']
print val
print id(val)
print id(val[0])
print id(val[1])

输出的结果为

['a', 'a']
39993928
38858384
38858384

可以看到val中的两个'a'是指向的同一个地址:

python面试题之列表声明实例分析

再看下面的代码:

直接声明的话,不会改变后面的'a'

val = [['a','a'],['a','a']]
print val
print id(val)
print id(val[0][0])
print id(val[1][0])
val[0][0] = 'b'
print val
print id(val)
print id(val[0][0])
print id(val[1][0])

结果为:

[['a', 'a'], ['a', 'a']]
39405512
38268560
38268560
[['b', 'a'], ['a', 'a']]
39405512
38390280
38268560

val = [['a','a']]*2
print val
print id(val)
print id(val[0][0])
print id(val[1][0])
val[0][0] = 'b'
print val
print id(val)
print id(val[0][0])
print id(val[1][0])

结果为:

[['a', 'a'], ['a', 'a']]
40388552
39251600
39251600
[['b', 'a'], ['b', 'a']]
40388552
39373320
39373320

更多Python相关内容感兴趣的读者可查看本站专题:《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python创建和删除目录的方法
Apr 29 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Django csrf 验证问题的实现
Oct 09 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
python3中numpy函数tile的用法详解
Dec 04 Python
Pytorch 多维数组运算过程的索引处理方式
Dec 27 Python
python清空命令行方式
Jan 13 Python
基于Python和PyYAML读取yaml配置文件数据
Jan 13 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
Feb 28 Python
如何在windows下安装配置python工具Ulipad
Oct 27 Python
详解用 python-docx 创建浮动图片
Jan 24 Python
python 求两个向量的顺时针夹角操作
Mar 04 Python
python 一个figure上显示多个图像的实例
Jul 08 #Python
Python3实现汉语转换为汉语拼音
Jul 08 #Python
python如何爬取网站数据并进行数据可视化
Jul 08 #Python
Django后台admin的使用详解
Jul 08 #Python
Python画图实现同一结点多个柱状图的示例
Jul 07 #Python
python画图把时间作为横坐标的方法
Jul 07 #Python
linux环境中没有网络怎么下载python
Jul 07 #Python
You might like
基于PHP选项与信息函数的使用详解
2013/05/10 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
Yii2创建多界面主题(Theme)的方法
2016/10/08 PHP
DIV外区域Click后关闭DIV的实现代码
2011/12/21 Javascript
Javascript查询DBpedia小应用实例学习
2013/03/07 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
node.js中的console.log方法使用说明
2014/12/09 Javascript
Jquery简单分页实现方法
2015/07/24 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
bootstrap daterangepicker双日历时间段选择控件详解
2017/06/15 Javascript
Bootstrap按钮组实例详解
2017/07/03 Javascript
详谈js原型继承的一些问题
2017/09/06 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
微信jssdk踩坑之签名错误invalid signature
2020/05/19 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
简述Python中的面向对象编程的概念
2015/04/27 Python
python实现感知器
2017/12/19 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
pytorch梯度剪裁方式
2020/02/04 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
Python中格式化字符串的四种实现
2020/05/26 Python
英国女士家居服网站:hush
2017/08/09 全球购物
Abbacino官网:包、钱包和女士配饰
2019/04/15 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
Chemist Warehouse中文网:澳洲连锁大药房
2021/02/05 全球购物
新年联欢会主持词
2014/03/27 职场文书
《放飞蜻蜓》教学反思
2014/04/27 职场文书
法律顾问服务方案
2014/05/15 职场文书
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server