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 numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
详解【python】str与json类型转换
Apr 29 Python
python数据化运营的重要意义
Nov 25 Python
python中设置超时跳过,超时退出的方式
Dec 13 Python
基于python爬取有道翻译过程图解
Mar 31 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
Python while true实现爬虫定时任务
Jun 08 Python
虚拟机下载python是否需要联网
Jul 27 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 Python
Python面向对象编程之类的概念
Nov 01 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 分库分表hash算法
2009/11/12 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
Laravel 自带的Auth验证登录方法
2019/09/30 PHP
通过onmouseover选项卡实现img图片的变化
2014/02/12 Javascript
浅谈angular懒加载的一些坑
2016/08/20 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
基于JavaScript实现的折半查找算法示例
2017/04/14 Javascript
jQuery.Form实现Ajax上传文件同时设置headers的方法
2017/06/26 jQuery
JavaScript实现的可变动态数字键盘控件方式实例代码
2017/07/15 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
JS实现点击按钮可实现编辑功能
2018/07/03 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
详解基于iview-ui的导航栏路径(面包屑)配置
2019/02/22 Javascript
在vue中利用全局路由钩子给url统一添加公共参数的例子
2019/11/01 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
JavaScript数组排序功能简单实现
2020/05/14 Javascript
github配置使用指南
2014/11/18 Python
python dict.get()和dict['key']的区别详解
2016/06/30 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
pthon贪吃蛇游戏详细代码
2019/01/27 Python
简单了解Django ContentType内置组件
2019/07/23 Python
Python3 JSON编码解码方法详解
2019/09/06 Python
Python实现图片添加文字
2019/11/26 Python
keras.utils.to_categorical和one hot格式解析
2020/07/02 Python
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
中专生毕业自我鉴定
2013/11/01 职场文书
幼儿园教师培训方案
2014/02/04 职场文书
企业授权委托书范本
2014/04/02 职场文书
高中生评语大全
2014/04/25 职场文书
碧霞祠导游词
2015/02/09 职场文书
辞职信标准格式
2015/02/27 职场文书
大学团日活动总结书
2015/05/11 职场文书
python b站视频下载的五种版本
2021/05/27 Python