列表可以把任意python数据类型组合到一起,是python中最通用和最常用的数据类型。

特点:

  • 有序化,列表的元素被有序地组织在一起
  • 可以包含任意类型对象
  • 列表的元素可以通过索引访问,可迭代,可遍历
  • 支持自动解包
  • 列表可以任意嵌套,即可以包含其他列表作为子列表
  • 列表的大小是可变的

列表是可变对象,即列表元素可以增加、更改和删除

列表的创建

在python中,可以通过list()函数和方括号[]创建列表。创建空列表时,二者结果一致。

  • list()函数:只能输入一个可迭代对象,然后把可迭代对象的元素加入列表
  • 方括号[]:可以输入多个对象,把输入对象作为元素整体加入列表
list1 = list()
list2 = []
list3 = list("hello world!")
list4 = ["hello world"]

python 判断集合中最后一出现元素2的位置 python判断元素在列表中_元组

索引以及切片操作同字符串 

字符串的基本知识

列表的常用方法


列表的操作方法: 1,del关键字 2,append方法 append函数用于向列表末尾添加元素 3.insert方法 insert 函数用于向列表中插入元素 insert 函数第一个参数是插入的位置,第二个参数是要插入的对象 4.clear函数用于将列表清空 5,remove函数 用于从列表中移除元素,若列表有重复元素,remove函数只会移除匹配到的第一个 6,pop函数 用于移除列表中指定位置的元素,并返回要移除的元素 在默认情况下,移除列表中最后一个元素 7.index函数 index函数用于返回所匹配的元素的索引 第一个参数:待查找的对象 第二个参数:查找的起始范围 第三个参数:查找的结束范围 8,reverse函数 用于将列表反向排列 ==[::-1] 9,extend方法 extend函数用于在列表的末尾添加另一个列表 与append函数相比,extend函数可以一次添加多个元素 (使用extend函数和列表加法的结果是一样的,但是extend函数会将另一个列表并入当前列表,而列表加法是返回新的列表,extend更节约空间) 10,cope函数 用于创建列表的副本 11,sort函数 sort函数用于将列表排序 12,count函数


  • 添加元素: append 追加 类似排队 extend函数用于在列表的末尾添加另一个列表 删除: pop,remove,clear,del del : del list1于list1.clear() clear操作后原列表为空,del操作后原列表不存在 pop(index):根据下标删除元素,下标在写的时候注意不要越界,index不写默认删除最后一个 remove(element):根据元素名称删除,如果删除的元素列表中不存在则报错,且删除的只有第一个
  • 修改 [1,2,3,4,5] insert:元素占了位置,其他元素只能后移 index:根据元素找该元素的位置下标,返回值是下标位置 insert 插队 number.sort(reverse = True) 降序 number.reverse() 对原来列表倒叙输出,单纯翻转,无排序
  • 查找 1,元素 in 列表: 2,列表.index():返回元素的下标位置,如果没有此元素则报错 3,列表.count() 返回整数,不存在则返回0
list1 = [1,3,4,"酸奶","酸奶","酸奶",2,"ww","酸奶","孙女","酸奶","酸奶",1,1]
list2 = list1.copy()
list3 =list1.copy()
list4 = list1.copy()
list5 = list1.copy()
list6 = list1.copy()
"""
#remove删除多个元素
for i in list1:
    if i == "酸奶":
        list1.remove(i)
#如果有连续的,会漏删,因为删除一个下标会改变
for i in list1:
    if '酸奶' in list1:
        list1.remove()
"""
for i in list1:
    if i == '酸奶':
        list1.remove(i)#方法一
print(list1)


for i in range(len(list2)):
    if list[i] == '酸奶':
        list2.remove(i) #方法二
        i-=1
print(list2)

#妙
for i in list3[::-1]:
    if i == '酸奶':
        list3.remove(i) #方法三
print(list3)
#死
for i in list4:
    if '酸奶' in list4:
        list4.remove('酸奶') #方法四
print(list4)

n=0
while n<len(list5):
    if list5[n]=='酸奶':
        list5.remove('酸奶') #方法五
    else:
        n+=1
print(list5)

t = 0
for i in list6:
    if i == "酸奶":
        list6.remove(i)
        list6.insert(0,str(t)) #方法六
        t+=1
for i in range (t+1):
    list6.remove(list[0])
print(list6)

列表的拷贝

  • 引用拷贝
  • 浅拷贝
  • 深拷贝

引用拷贝即list1 = list2,二者关联到同一列表对象上

浅拷贝即list2 = list1.copy(),把新建的列表关联到原列表的元素对象上,但不会在内存中新建一份原列表的元素对象。

深拷贝由copy模块的deepcopy()函数实现,当修改new_list列表的元素时,old_list列表的元素不会受到影响

元组

元组是不可变序列,即元组一旦创建,就不能对其元素进行增删改


元组也是一种数据容器,使用小括号"( )"表示, 其使用场景与列表相似,这意味着能使用列表的地方基本可以使用元组,,包括列表推导式,切片等操作。 列表与元组的唯一区别是元组是不可变的


特点:

  • 元组在运行速度和空间上都优于列表
  • 若已经知道哪些数据不必更改,用元组比用列表好,可以保护数据。
  • 元组的元素可以通过索引访问,可迭代,可遍历。
  • 元组支持自动解包
  • 元组一旦创建,其大小不可变
  • 元组是不可变对象,一旦创建,就不能对其元素进行增删改
  • 一个方法或函数要多个返回值时,元组是个不错的选择

python中的元组与列表相似,不同之处在于元组的元素不能修改(增删改) 元组使用小括号(),列表使用方括号[] 元组中只有一个数据要写逗号才是元组 (1,) 下标和切片 字符串,列表,元组 ---->注意下标越界 方法: count() index() 关键字: in ,not in for ……in while 转换: list(tuple) tuple(list)


创建元组

  • tuple()函数:只能输入一个可迭代对象,然后把可迭代对象的元素加入元组
  • 小括号():可以输入多个对象,把输入的对象作为元素整体加入元组

小括号()创建元组的时间远远少于用tuple()函数创建元组的时间,元组的创建时间优于列表的创建时间,元组的执行效率优于列表


关于元组,列表,字符串的共同操作 len(),max(),min()