正文:
在之前的文章中,我们已经学习了Python的基本语法、数据类型和常用的内置函数。
在本篇文章中,我们将继续学习其他类型
**
列表类型
**
➢ 列表就是队列
➢ 他是各种数据类型的集合,也是一种数据结构
➢ 列表是一种有序,且内容可重复的集合类型
➢ 在Python中,列表中的元素存在于一个[]中
list_test = [1,2,3]
print(list_test)
print(type(list_test))
列表的增加–append函数
➢ 将一个元素(字符串、浮点,字典,元组…)添加到当前列表中
➢ 被添加的元素只会被添加到末尾
➢ append函数是在原有列表的基础上添加,不需要额外添加新的变量
用法:list.append(new_item)
参数:new_item:添加进列表的新的元素(成员)
books = []
books.append("Chinese") #在空列表中填写新元素chinese
print(books)
列表的添加–insert函数
➢ 将一个元素添加到当前列表的指定位置中
➢ 字符串,元组,列表元素的位置是从О开始计算的
用法:list.insert(index , new_item)
参数:index: 新的元素放在哪个位置(数字)
new_item :添加的新元素(成员)
books = ["Chinese","Music","English"]
books.insert(2,"Art") #在第2个元素位置前面加入
print(books)
#输出结果:['Chinese', 'Music', 'Art', 'English']
列表(元组)的个数–count函数
➢ 返回当前列表中某个成员的个数
➢ 如果查询的成员(元素)不存在,则返回0
➢ 列表只会检查完整元素是否存在需要计算的内容
用法:inttype = list.count(item)
参数:item :你想查询个数的元素
books = ["Chinese","Music","English","Music"]
number = books.count("Music") #注意字符串的符号要一致
print(number) #2个Music
列表的删除–remove函数
➢ 如果删除的成员(元素)不存在,会直接报错
➢ 如果被删除的元素有多个,只会删除第一个
➢ remove函数不会返回一个新的列表,而是在原先的列表中对元素进行删除
用法:list.remove(item)
参数:item: 准备删除的列表元素
books = ["Chinese","Music","English","Music"]
number = books.remove("Music") #删除一个Music
print(number)
print(books.count("Music")) #再次统计还有一个Music
列表顺序进行反转–reverse函数
用法:list.reverse()
参数∶ 无参数
number = [1,2,3,4,5]
number.reverse()
print(number) #执行后:[5, 4, 3, 2, 1]
列表按照─定规律进行排序–sort函数
➢ 列表中的元素类型必须相同,否则无法排序(报错)
➢ 字母按照a–z排序 熟悉按照从小到大排序
用法:list.
(key=None, reverse=False)
参数:
key-参数比较
reverse --排序规则,reverse = True降序,reverse = False升序(默认)。
number = [3,2,1,4,5]
number.sort()
print(number) #输出[1,2,3,4,5]
number.sort(reverse=True)
print(number) #输出[5, 4, 3, 2, 1]
列表的数据清空–clear函数
用法:list.clear() ->该函数无参数,无返回值
number = [3,2,1,4,5]
number.clear()
print(number) #输出[]
列表的复制–copy函数
➢ 将当前的列表复制一份相同的列表,新列表与旧列表内容相同,但内存空间不同
➢ 二次赋值的变量与原始变量享有相同内存空间
➢ copy函数创建的新列表与原始列表不是一个内存空间,不同享数据变更
用法: list.copy) ->该函数无参数,返回一个一模一样的列表
浅拷贝
通俗的说,我们有一个列表a,列表里的元素还是列表,当我们拷贝出新列表b后,无论是a还是b的内部的列表中的数据发生了变化后,相互之间都会受到影响
a=[[1,2,3],[5,6,7]]
b = a.copy( )
print(b) #输出结果[[1,2,3],[5,6,7]]
b[0].append (10)
print(a,b) #输出的结果一致:[ [1,2,3,10],[5,6,7]]
深拷贝
不仅对第一层数据进行了copy,对深层的数据也进行copy,原始变量和新变量完完全全不共享数据
import copy
a=[[1,2,3],[5,6,7]]
b = copy.deepcopy(a)
print(b) #输出b:[[1,2,3],[5,6,7]]
b.append([4,5])
print(a,b) #输出a:[[1,2,3],[5,6,7]]
#输出b:[[1, 2, 3], [5, 6, 7], [4, 5]]
列表或元组中的元素导入–extend函数
➢ 将其他列表或元组中的元素倒入到当前列表中
用法:list.extend(iterable) ->
参数:iterable 代表列表或元组,该函数无返回值
a=[]
new_a = (1,2,3)
a.extend(new_a)
print(a) #输出a [1, 2, 3]
b = ['a','b']
b.extend(new_a)
print(b) #输出b ['a', 'b', 1, 2, 3]
列表的索引和切片
➢ 列表元组中从最左边记录的位置就是索引索引用数字表示,起始从0开始
[name, age, top]其中name就是索引0 以此类推
➢ 索引用来对单个元素进行访问,切片则对一定范围内的元素进行访问
➢ 切片通过冒号在中括号内把相隔的两个索引查找出来 如[0:10]
➢ 切片规则为:左含,右不含(左闭右开)
a=[1,2,3,4,5,6]
print("获取完整的列表:",a[:]) #输出[1, 2, 3, 4, 5, 6]
print("列表的反序:",a[::-1]) #输出[6, 5, 4, 3, 2, 1]
print("列表的反向获取:",a[-3:-1]) #输出 [4, 5]
print("步长获取切片:",a[0: 5 :2]) #输出[1, 3, 5]
列表的索引,获取与修改
➢ 数据的修改只能在存在的索引范围内
➢ 列表无法通过添加新的索引的方式赋值
➢ list.index(item)
索引的修改:用法:list[index] = new_item
a=[1,2,3,4,5,6]
a[3] = 'word' #列表的第三个元素替换为word
print(a) #[1, 2, 3, 'word', 5, 6]
print(a.index('word')) #寻找word是第几个索引 --3
pop–通过索引删除并获取列表的元素
用法:list.pop(index)
参数:index:删除列表的第几个索引->函数会删除该索引的元素并返回->如果传入的index索引不存在则报错
a=[1,2,3,4,5,6]
a.pop(3)
print(a) #输出[1, 2, 3, 5, 6]
del–删除索引
用法:del list[index]
➢ 直接删除无返回值
➢ 如果index(索引)不存在则报错
a=[1,2,3,4,5]
del a[2]
print(a) #输出[1, 2, 4, 5]
元组类型
➢ tuple代表着元组这种类型,也可以用它定义一个元组
➢ 元组中的元素存在于一个()小括号中
➢ 是无限制长度的结构
tuple_test = ([1,2,3],) #注意,不加就是里面的类型,加逗号才是元组
print(tuple_test)
print(type(tuple_test))
在下一篇文章中,我们将学习字典与集合。敬请期待!
持续更新,大家点一波关注 不迷路!!!