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实现从一组颜色中找出与给定颜色最接近颜色的方法
Mar 19 Python
举例讲解Python中is和id的用法
Apr 03 Python
Python实现简单字典树的方法
Apr 29 Python
python中利用xml.dom模块解析xml的方法教程
May 24 Python
python3写爬取B站视频弹幕功能
Dec 22 Python
对python csv模块配置分隔符和引用符详解
Dec 12 Python
Django单元测试工具test client使用详解
Aug 02 Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 Python
python+django+rest框架配置创建方法
Aug 31 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
Python requests用法和django后台处理详解
Mar 19 Python
python在package下继续嵌套一个package
Apr 14 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
深入Apache与Nginx的优缺点比较详解
2013/06/17 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
php实现图片压缩处理
2020/09/09 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
js中关于String对象的replace使用详解
2011/05/24 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
Vue2.0设置全局样式(less/sass和css)
2017/11/18 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
layui弹出框Tab选项卡的示例代码
2019/09/04 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
2019/09/09 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
Python实现的计算器功能示例
2018/04/26 Python
老生常谈python中的重载
2018/11/11 Python
对Python中的条件判断、循环以及循环的终止方法详解
2019/02/08 Python
Python日志无延迟实时写入的示例
2019/07/11 Python
python变量的作用域是什么
2020/05/26 Python
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
校长竞聘演讲稿
2014/05/16 职场文书
环保项目建议书
2014/08/26 职场文书
检讨书范文
2015/01/27 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
MySQL系列之十 MySQL事务隔离实现并发控制
2021/07/02 MySQL
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android
java版 联机五子棋游戏
2022/05/04 Java/Android
浅谈css清除浮动(clearfix和clear)的用法
2023/05/21 HTML / CSS