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模块顶层运行的代码引起的一个Bug
Jul 04 Python
python人人网登录应用实例
Sep 26 Python
python版本的读写锁操作方法
Apr 25 Python
修改默认的pip版本为对应python2.7的方法
Nov 06 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 Python
python绘制已知点的坐标的直线实例
Jul 04 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
浅谈Python中的字符串
Jun 10 Python
Python趣味挑战之教你用pygame画进度条
May 31 Python
python前后端自定义分页器
Apr 13 Python
Python写情书? 10行代码展示如何把情书写在她的照片里
Apr 21 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安全配置 如何配置使其更安全
2011/12/16 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
php导出CSV抽象类实例
2014/09/24 PHP
php实现多城市切换特效
2015/08/09 PHP
php简单构造json多维数组的方法示例
2017/06/08 PHP
PHP查询分页的实现代码
2017/06/09 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
HTML5附件拖拽上传drop & google.gears实现代码
2011/04/28 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
javascript中createElement的两种创建方式
2015/05/14 Javascript
jQuery实现首页图片淡入淡出效果的方法
2015/06/10 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
基于react组件之间的参数传递(详解)
2017/09/05 Javascript
详解动画插件wow.js的使用方法
2017/09/13 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
[02:28]DOTA2亚洲邀请赛 LGD战队巡礼
2015/02/03 DOTA
Python3通过Luhn算法快速验证信用卡卡号的方法
2015/05/14 Python
Python中List.index()方法的使用教程
2015/05/20 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
2017/11/03 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Python 实现日志同时输出到屏幕和文件
2020/02/19 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
Python自动化办公Excel模块openpyxl原理及用法解析
2020/11/05 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
Gweniss格温妮丝女包官网:英国纯手工制造潮流包包品牌
2018/02/07 全球购物
关于安全的演讲稿
2014/05/09 职场文书
怎样写离婚协议书
2015/01/26 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL
HTML中的表单元素介绍
2022/02/28 HTML / CSS