1.列表数据类型
列表值代表列表本身,而不是列表内包含的值。
列表格式用[]括起来
列表中的值被称为表项,用逗号分隔
1)用下标取得列表中的某个值
下标从0开始
2)负数下标
Python也可以用负数下标来表示
表示方法——-1表示列表中最后一个值,-2表示列表中倒数第二个值,以此类推
3)利用切片取得子列表
切片可以从列表中取得多个值
切片输入格式:[2:5]
[]里面的数字下标同完整列表中的下标一致
切片省略:[:5] 默认省略的为0
[0:] 默认省略的是列表长度
4)使用len()得到列表长度
5)使用下标改变列表中的某一个值
6)+可以连接2个列表,得到一个新列表
*可以作用于一个列表和一个整数,实现列表的复制
7)del语句可以删除列表下标处的值,表中被删除值后的值向前移动一位
del s[0]
del也可用于删除一个简单变量 ,删除变量后,变量不可再被引用
del s
2.使用列表
1)列表用于循环
有两种循环方式(s为列表名):for i in range(len(s)):
print(s[i])
for i in s:
print(i)
2)in 和 not in操作符
利用in 和 not in可以确定一个值是否在列表中
连接2个值:待查询的值和列表值
3)多重赋值技巧
变量的数量和列表的长度必须相等
如:s=['fat','black','hello']
size,color,a=size
3.增强的赋值操作
a+=1 a=a+1
a-=1 a=a-1
a*=1 a=a*1
a/=1 a=a/1
a%=1 a=a%1
+=也可以用于列表连接
*=也可以用于列表复制
4.方法
方法和函数类似,只是方法是作用在一个值上。
每种数据类型都有一组自己的方法。
例如,列表有一些方法,用来增、删、改、查列表中的值
1)index()方法查找列表中值的位置
index()方法,通过传入一个值,如果值在列表中,则返回值的下标。否则,报ValueError
如果列表中出现重复的值,则返回它第一次出现的下标
2)append()和insert()在列表中添加值
append()方法在列表尾部添加,只有一个参数 append('mouse')
insert()方法可以在列表任意位置插入,有2个参数,第一个是插入位置,第二个是插入参数 insert(1,'mouse')
方法属于单个数据类型,append()和insert()方法是list方法,只能在list上用
3)remove()方法从列表中删除值
给remove()方法传入一个值,这个值将被从列表中删除
试图删除列表中不存在的值,将导致ValueError 错误
如果该值在列表中出现多次,只有第一次出现的值会被删除
del()方法也可用于删除,删除一个或连续几个元素
del a[0] 删除单个元素
del a[0:2] 删除连续元素
del a 删除整个列表
4)使用sort()方法将列表中的值排序
数值的列表或字符串的列表,能用sort()方法排序
也可以指定reverse 关键字参数为True,让sort()按逆序排序 a.sort(revers=True)
注:1.sort()方法当场排序,不能a=a.sort()
2.不能对既有数字又有字母的列表排序
3.sort()方法对字符串排序时,使用“ASCII 字符顺序”,而不是实际的字典顺序。这意味着大写字母排在小写字母之前
4.如果需要按照普通的字典顺序来排序,就在sort()方法调用时,将关键字参数key 设置为str.lower。(原因:将所有表项都当成小写)
5.字符串和元组
字符串可以看做个字符的列表
按下标取值、切片、用于for 循环、用于len(),以及用于in和not in 操作符 也可以作用于字符串
1)可变和不可变数据类型
列表是可变的数据类型,它的值可以删除、修改和添加
而字符串是不可变的
2)元组数据类型
元组与列表的区别:1.使用()
2.不可变
如果元组中只有一个值,你可以在括号内该值的后面跟上一个逗号,表明是元组
3)list()和tuple()
list()将原来的数据类型转换成list
tuple()将原来的数据类型转换成元组
6.引用
将一个列表赋值给一个变量时,实际上是将列表的引用赋给了变量。列表引用指向列表的值
变量保存可变数据类型(列表、字典)使用引用
变量保存不可变数据类型(字符串、整型等),保存值本身
调用函数时,对于列表和字典传递的是引用
7.copy模块的copy函数和deepcopy函数
如果需要对一个变量中的列表进行修改,同时又不希望影响到原来的列表
import copy
copy.copy()---------复制列表或字典的值
copy.deepcopy()-----复制的列表中含有列表