python列表乘一个数字_python的列表乘以数字
以不可变对象为元素的列表
a=[1,2]
b=a*3
#则b为
[1,2,1,2,1,2]
以可变对象为元素的列表
#如列表以列表为元素
a=[[1]]
b=a*3
#则b为
[[1],[1],[1]]
#不过有趣的是
id(b[0])==id(b[1])==id(b[2])
#也就是说b的三个列表元素项都是引用的一个原先的列表元素项,
#实际上并没有新的列表元素项产生,这与直接定义b=[[1],[1],[1]]
#是截然不同的,直接定义的b其各列表元素项的id值是不同的
以上的文字解释可能还不太清楚,我们这里以图片辅助说明:
如图为a*3所得到的b的内存中的示意图,其0、1、2下标项所指向的都是列表元素项[1],而该项的下标0对应的又指向内存中的数值1。
如图为直接定义的b=[[1],[1],[1]]。可见其0、1、2下标项分别指向三个不同的列表元素项[1],而这三个不同的列表元素项的下标0对应的自然也都是内存中的数值1。
同时含有可变对象与不可变对象作为元素
a=[[1],2]
b=a*3
#则b为
[[1],2,[1],2,[1],2]
#并且仍然有
id(b[0])==id(b[2])==id(b[4])
总结
python中的这个现象,我个人认为更是一种语言实现上的bug ,并不真的是什么有趣的知识点。很自然的逻辑,我们对于a*3得到的b,希望分别对b[0]和b[1]修改时,会发现竟然会是同时修改的(a=[[1]]),这太容易导致错误了,与一般性的逻辑不符。
python列表乘一个数字_python的列表乘以数字相关推荐
- python怎么创建列表_用Python将一个列表分割成小列表的实例讲解 Python 如何创建一个带小数的列表...
python里有一个列表,列表里有几个小列表,小列表#冒泡排序:scoreList = [['a',98],['c',45],['b',70],['d',85],['h',85],['f',92],[ ...
- 编写下面的函数合并两个有序列表构成一个新的有序列表: def merge(list1,list2): 编写测试程序提示用户输入两个有序列表,然后显式合并后的有序列表。
题目内容:编写下面的函数合并两个有序列表构成一个新的有序列表:def merge(list1,list2):编写测试程序提示用户输入两个有序列表,然后显式合并后的有序列表.要求:不允许使用系统提供的s ...
- python列表转换成数字_python 字母转成数字Python操作列表的常用方法总结
下面列出列表常用的方法操作列表以及小例子: 1. Append 在列表末尾添加元素,需在列表末尾添加元素,需要注意几个点: A. append中添加的参数是作为一个整体 >>> n ...
- python怎样遍历列表中数字_Python基础-列表操作(2):列表的遍历和数字列表
Python基础-列表(2): 1.对列表进行遍历操作 python中遍历的写法是for xx in list,末尾跟个冒号,第二行开始缩进,进入循环之中.word = ['a','b','c'] f ...
- python读取字典元素笔记_Python中列表、字典、元组数据结构的简单学习笔记
列表 列表是Python中最具灵活性的有序集合对象类型.与字符串不同的是,列表可以包含任何类型的对象:数字.字符串甚至其他列表.列表是可变对象,它支持原地修改的操作. Python的列表是: 任意对象 ...
- python的含义和用法_python中列表的含义及用法
示例 列表是元素的集合,存储在一个变量中.列表中存储的元素类型没有限制,下面是列表的一个简单例子. students = ['bernice', 'arron', 'cody'] for studen ...
- python列表常用操作函数_Python入门——列表常用操作
Python列表常用操作 准备 控制台输入ipython parallels@parallels-vm:~$ ipythonPython 2.7.12 (default, Dec 4 2017, 14 ...
- python列表逆序输出_Python 让列表逆序排列的 3 种方式
让列表逆序排列是我们编程时常碰到的问题,比如现在有一些客户的姓名是将拼音的首字母按 A - Z 排列的,而你现在想找一个姓张( Z )的客户,你就有了将姓名逆序排列的需求了.而在 Python 中,将 ...
- python中list的意思_python中列表和集合有什么区别
列表list 字面意思就是一个集合,在Python中List中的元素用中括号[]来表示,可以这样定义一个List:L = [12, 'China', 19.998] 可以看到并不要求元素的类型都是一样 ...
- python搜索列表内_使用Python在另一个List中搜索列表的值
try: last_found = -1 for num in L1: last_found = L2.index(num, last_found + 1) return True except Va ...
最新文章
- akaze特征匹配怎么去掉不合适的点_一种无人机滑坡遥感影像的快速匹配算法
- 如何在Python中获取字符串的子字符串?
- 使用JBoss Modules来模块化Java
- 利用 SIFT 实现图像拼接
- Dagger简单Demo
- oracle获取下级函数,从oracle获取函数和过程签名列表
- [转] 前端中的MVC
- 《spring-boot学习》-06-thymeleaf详解
- 懒加载、瀑布流和LightBox实现图片搜索效果
- 解决ECLIPSE 卡死的方法
- watershed用法详解
- 利用PlayerPrefs存储数据
- Spring mvc+ Hibernate的基础dao类。
- java 泛型接口_Java中泛型接口
- Visual FoxPro权威指南pdf
- unity人物动画配置
- NDK学习笔记:一起来变萝莉音!FMOD学习总结(上)
- Strom 消息可靠性保障机制和Ack原理
- cao方法matlab程序,偏最小二乘法 matlab程序 [转]
- 学生管理系统IPO图_玩不起了?海底捞取消大学生69折优惠,海底捞:暂不会调整...