目录
1.列表和元组的定义
Python中的列表和元组,可以用一个变量来表示很多个数据。
列表和元组,大部分的功能是差不多的,但是有一个功能非常明显的区别:
1.列表是可变的,创建好了之后,随时能改。
2.元组是不可变的,创建好了之后,改不了,要想改,只能丢弃旧的,搞个新的。
2. 创建列表
创建列表有下面几种方式:
#创建列表 #1.直接使用字面值来创建 # []就表示一个空列表 a=[] print(type(a)) #使用list()来创建 b=list() print(type(b)) #3.可以在创建列表的时候,在[]中指定列表的初始值 #元素之间使用,来分割 a=[1,2,3,4] print(a)
列表里面可以管理很多元素,通过下标访问的方式来获取到列表中的元素。
3.访问列表/修改列表
a=[1,2,3,4]
print(a[2])
#创建列表 #1.直接使用字面值来创建 # []就表示一个空列表 a=[] print(type(a)) #使用list()来创建 b=list() print(type(b)) #3.可以在创建列表的时候,在[]中指定列表的初始值 #元素之间使用,来分割 a=[1,2,3,4] print(a) #4.可以在同一个列表里放不同类型的变量 a=[1,'hello',True,[4,5,6]] print(a) #5.使用下标来访问列表元素 a=[1,2,3,4] print(a[2]) #6.使用下标来修改列表元素 a=[1,2,3,4] a[2]=100 print(a)
由于下标是从0开始计算的,对于列表来说,下标的有效范围,从0,长度-1
超出下标有效范围,就会出现异常。
获取列表长度的方法:
#7.可以使用内建函数len来获取到列表的长度(元素个数),和字符串类型类似 a=[1,2,3,4] print(len(a))
len可以传字符串、列表、元组、字典、自定义的类。(动态类型)
#8.可以使用内建函数len来获取到列表的长度(元素个数),和字符串类型类似 a=[1,2,3,4] print(len(a)) #9.Python中的下标,其实还可以写成负数 #例如写成-1,其实等价于len(a)-1 a=[1,2,3,4] print(a[len(a)]-1) #-1下标就是倒数第一个元素 print(a[-1])
4.列表的切片操作
切片操作中,[]里面有两个数字,表示了一段区间
1表示开始区间的下标
3表示结束区间的下标
注:1:3 取到下表为1一直到下表为3的元素
(包含1,不包含3)(1,3)
切片操作是一个比较高效的操作,进行切片的时候,只是取出了原有列表中的一个部分,并不涉及到“数据的拷贝”
假设有一个很大的列表进行切片,切片的范围也很大,即使如此,切片操作仍然非常高效。
#1.切片操作的基本使用 a=[1,2,3,4] print(a[1:3]) #2.使用切片的时候,省略边界 a=[1,2,3,4] #省略后边界,意思是从开始位置,一直取到整个列表结束 print(a[1:]) #省略前边界,意思是从列表的0号元素开始取,一直取到结束的后边界 print(a[:2]) #次数切片中的下标也可以写成负数 print(a[:-1]) #还可以把开始边界和结束边界,都省略掉,得到的还是列表自身 print(a[:])
切片操作,还可以指定步长。
print(a[::1])这里再多加一个:,再多加一个数字,这个数字就是步长。
#3.带有步长的切片操作 a=[1,2,3,4,5,6,7,8,9,0] print(a[::1]) print(a[::2]) print(a[::3]) print(a[1:-1:2])
步长的数值还可以为负数
# #4.步长的数值还可以是负数,当步长为负数的时候,意思是从后往前来取元素 # print(a[::-1]) # print(a[::-2]) #5.当切片中的范围超出有效下标之后,不会出现异常,而是尽可能的把符合要求的元素给获取到。 a=[1,2,3,4,5,6,7,8,9,0] print(a[1:100])
5.列表的遍历
遍历:把一个列表里面的每个元素,都依次取出来,并进行某种操作。
5.1使用for循环操作
#1.使用for循环遍历列表 a=[1,2,3,4,5] for elem in a: print(elem)
# #1.使用for循环遍历列表 # a=[1,2,3,4,5] # for elem in a: # print(elem) #2.使用for循环遍历,通过下标的方式 a=[1,2,3,4,5] for i in range(0,len(a)): #print(a[i]) a[i]=a[i]+10 print(a)
第一种方式不可以修改列表的值,第二种可以直接对列表的值进行修改。
第一种方式只是把element改了,没有影响到列表中的值
第二种方式
#使用while循环,通过下标遍历 a=[1,2,3,4,5] i=0 while i<len(a): print(a[i]) i+=1
6.列表中新增元素
6.1使用append
此处的append是搭配列表对象a来一起使用的,而不是作为独立的函数
type,print,input,len,自定义函数......都是独立的函数
这些要搭配对象来使用的函数(function),也叫作方法(method)
在Python中,对象就可以视为变量。
#1.使用append在列表的末尾新增一个元素 a=[1,2,3,4] a.append(5) a.append('hello') print(a)
#2.还可以使用insert方法,往列表的任意位置来新增元素 a=[1,2,3,4] a.insert(1,'hello') a.insert(100,'hello') print(a)
7.在列表中查找元素
#1.使用in来判定某个元素是否在列表中存在 a=[1,2,3,4] print(1 in a) print(10 in a) print(1 not in a) print(10 not in a)
#2.使用index方法来判定,当前元素在列表中的位置,得到了一个下标 a=[1,2,3,4] print(a.index(2)) print(a.index(3)) print(a.index(10))
8.在列表中删除元素
8.1 pop方法
#1.使用pop删除列表中的2最末尾的元素 a=[1,2,3,4] a.pop() print(a) #2.使用pop还能删除任意位置的元素,pop的参数可以传一个下标过去 a=[1,2,3,4] a.pop(1) print(a)
8.2 remove方法
#3.使用remove方法,可以按照值来进行删除 a=['aa','bb','cc','dd'] a.remove('cc') print(a)
#1.使用+针对两个列表进行拼接 a=[1,2,3,4] b=[5,6,7,8] c=a+b d=b+a print(c) print(d)
9.列表的连接
多个列表拼接到一起变为一个更大的列表
9.1用+拼接,生成了新的列表
#1.使用+针对两个列表进行拼接 a=[1,2,3,4] b=[5,6,7,8] c=a+b d=b+a print(c) print(d)
9.2使用extend方法
#2.使用extend来进行拼接 # 这个拼接会修改原来的列表,把最后一个列表的内容拼接到前一个列表里面 a=[1,2,3,4] b=[5,6,7,8] a.extend(b) c=a.extend(b) print(a) print(b) print(c)
9.3使用+=来 进行拼接
#3.使用+=来进行拼接 a=[1,2,3,4] b=[5,6,7,8] a+=b print(a) print(b)