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 16 Python
Python sys.argv用法实例
May 28 Python
使用Python判断质数(素数)的简单方法讲解
May 05 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Python3自动签到 定时任务 判断节假日的实例
Nov 13 Python
Django中更改默认数据库为mysql的方法示例
Dec 05 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
python实现最速下降法
Mar 24 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
Python selenium键盘鼠标事件实现过程详解
Jul 28 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
php中处理模拟rewrite 效果
2006/12/09 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
JavaScript 语法集锦 脚本之家基础推荐
2009/11/15 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
10款非常有用的 Ajax 插件分享
2012/03/14 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
BootStrap Fileinput的使用教程
2016/12/30 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
vue-cli3 取消eslint校验代码的解决办法
2020/01/16 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
使用python实现knn算法
2017/12/20 Python
Python实现的端口扫描功能示例
2018/04/08 Python
Python matplotlib学习笔记之坐标轴范围
2019/06/28 Python
Pycharm最新激活码2019(推荐)
2019/12/31 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
新手学习Python2和Python3中print不同的用法
2020/06/09 Python
解决c++调用python中文乱码问题
2020/07/29 Python
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
如何保障Web服务器安全
2014/05/05 面试题
先进个人事迹材料
2014/01/25 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
单位授权委托书范本
2014/09/26 职场文书
2016年大学生寒假社会实践心得体会
2015/10/09 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
PL350与SW11的比较
2021/04/22 无线电
Nginx限流和黑名单配置
2022/05/20 Servers