python中的列表与元组

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

特点:

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

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

列表的创建

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

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

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

字符串的基本知识

列表的常用方法

列表的操作方法:
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()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值