目录
11列表
11.1列表介绍
什么是列表?
就比如如果让你买菜你肯定会带菜篮子。列表就好比菜篮子,东西都往里面放。
创建列表
兼收并蓄是列表的一个特色(列表可以容纳不同类型的数据)
给列表添加变量名我们就可以随时访问
11.2序列
11.2.1索引列表
python是从0开始索引的!
访问单个元素
如果不知道多长让你访问最后一个元素该怎么做
11.2.2列表切片
设置列表步进跨度值
倒叙输出
11.3列表的诸多方法
11.3.1增
append()
如果添加很多就考虑用
extend() 允许直接添加可迭代对象
在列表的任意位置添加数据
insert()
有两个参数:第一个参数指定待插入的位置,第二个参数指定待插入的元素
11.3.2删
remove()
注意:1.如果列表中存在多个匹配的元素,那么它只会删除第一个
2.如果指定的元素不存在,那么程序就会报错
怎么删除某个位置上的元素
pop() 它的参数是元素的下标索引值
清空所有内容
clear()
11.3.3改
如果多个连续的元素需要替换可以用切片来实现
调用sort()可直接实现从小到大排序
调用reverse()可以实现从大到小排序
或者
11.3.4查
查找某个元素出现的次数 count()
查找某个元素的索引 index()
当我们不知道某个元素的索引值并且想把它替换时
如果有多个相同的元素,index方法会返回第一个找到的元素的下标值。
index还有两个可选的参数 index(start,end) 指定查找的开始和结束位置
copy() 用于拷贝一个列表
这两种方法都为浅拷贝
11.4列表的加法和乘法
11.4.1加法
拼接 +号左右都得是列表
11.4.2乘法
重复列表内所有元素若干次
11.5嵌套列表
访问嵌套列表
嵌套循环
is 运算符 -同一性运算符
python对于不同对象存储机制不同
11.6变量不是盒子
赋值 python不是将数值放到变量中去,而是将变量与数据挂钩。我们称之为引用,
通过x来修改列表中的值,通过变量y来访问,内容也会跟着改变
11.7浅拷贝和深拷贝
浅拷贝
我们用浅拷贝,但是发现x和y还是发生了干扰
deepcopy深拷贝
x和y不影响
deepcopy函数将原对象拷贝的同时,也将对象中所有引用的子对象一并进行了拷贝。
方法和函数:可以大致认为他俩就是一回事
11.8列表推导式
如何将列表中的每一个元素的值都变成原来的2倍呢?
用列表推导式
如果想将每一个字符串都转化成对应的unicode编码并保存为列表
11.9再谈列表推导式
列表推导式还可以添加一个用于筛选的if分句
从里面筛选出f开头的单词
嵌套的列表推导式对应嵌套的循环
列表推导式终极语法
每个for语句后面都可以追加if进行条件筛选
程序设计原则 kiss