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之PyUnit单元测试实例
Oct 11 Python
Python中AND、OR的一个使用小技巧
Feb 18 Python
浅谈Python peewee 使用经验
Oct 20 Python
Python实现修改IE注册表功能示例
May 10 Python
python实现爬山算法的思路详解
Apr 09 Python
Python多版本开发环境管理工具介绍
Jul 03 Python
Python实现平行坐标图的两种方法小结
Jul 04 Python
Python使用pyautocad+openpyxl处理cad文件示例
Jul 11 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 Python
pytorch掉坑记录:model.eval的作用说明
Jun 23 Python
Python机器学习之基于Pytorch实现猫狗分类
Jun 08 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下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
Windows下安装PHP单元测试环境PHPUnit图文教程
2014/10/24 PHP
laravel学习教程之存取器
2016/07/30 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
XML的代替者----JSON
2007/07/21 Javascript
js验证模型自我实现的具体方法
2013/06/21 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
jquery中change()用法实例分析
2015/02/06 Javascript
jQuery中 prop() attr()使用详解
2015/05/19 Javascript
针对初学者的jQuery入门指南
2015/08/15 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
2016/11/22 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
详解js根据百度地图提供经纬度计算两点距离
2019/05/13 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
python实现在字符串中查找子字符串的方法
2015/07/11 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
Python Numpy库安装与基本操作示例
2019/01/08 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
大学毕业生简单自荐信
2013/11/05 职场文书
查环查孕证明
2014/01/10 职场文书
档案接收函
2014/01/13 职场文书
资金主管岗位职责范本
2014/03/04 职场文书
海飞丝广告词
2014/03/20 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang