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转码问题的解决方法
Oct 07 Python
Python语言技巧之三元运算符使用介绍
Mar 04 Python
使用优化器来提升Python程序的执行效率的教程
Apr 02 Python
Python下的subprocess模块的入门指引
Apr 16 Python
Python实现的质因式分解算法示例
May 03 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
Feb 01 Python
详解js文件通过python访问数据库方法
Mar 03 Python
python匿名函数用法实例分析
Aug 03 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
python模拟点击网页按钮实现方法
Feb 25 Python
基于FME使用Python过程图解
May 13 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
PHP中的extract的作用分析
2008/04/09 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
destoon各类调用汇总
2014/06/20 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
js 加载并解析XML字符串的代码
2009/12/13 Javascript
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
JSONObject使用方法详解
2015/12/17 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
2016/01/28 Javascript
jquery使用on绑定a标签无效 只能用live解决
2016/06/02 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
基于vue2的table分页组件实现方法
2017/03/20 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
[00:31]DOTA2上海特级锦标赛 Fnatic战队宣传片
2016/03/04 DOTA
[01:03]悬念揭晓 11月26日DOTA2完美盛典不见不散
2017/11/23 DOTA
python调用Moxa PCOMM Lite通过串口Ymodem协议实现发送文件
2014/08/15 Python
在Django的视图中使用form对象的方法
2015/07/18 Python
Python 专题四 文件基础知识
2017/03/20 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
pyinstaller还原python代码过程图解
2020/01/08 Python
python安装sklearn模块的方法详解
2020/11/28 Python
.NET程序员的数据库面试题
2012/10/10 面试题
船舶专业个人求职信范文
2014/01/02 职场文书
2014年母亲节寄语
2014/05/07 职场文书
田径运动会通讯稿
2014/09/13 职场文书
学校师德师风整改措施
2014/10/27 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
暖春观后感
2015/06/08 职场文书
python实现高效的遗传算法
2021/04/07 Python
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL