摘录一下Python列表和元组的学习笔记

文章介绍了Python中列表的基础概念,包括列表的创建、长度查询、范围选取以及常用方法如index(),append(),insert(),remove()和sort()。还讨论了元组和列表之间的强制类型转换,以及使用copy和deepcopy防止变量引用导致的数据修改问题。最后提到了列表和元组的主要区别在于可变性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 基础概念

列表一个值,列表值指的是列表本身,而不是列表中的内容

列表用[]表示

列表中的内容称为 表项

len()函数可以显示列表中表项的个数,比如下面这个例子

spam = ['cat', 'bat', 'dog', 'rat']

print(len(spam))

列表的范围选取中,比如

spam = [‘cat’, ‘bat’, ‘rat’, ‘dog’],如果用spam[1:3],选中的内容是bat、rat和dog

两个数字中,第一个是开始的下标,第二个是结束处的下标,但不包括结束处

用del语句从列表中删除值,不过一般del语句不常使用

2 列表方法

  • index():用于查找列表中的内容,如果存在,返回0,不存在报错

  • append():在列表末尾添加内容

  • insert():可以指定位置插入内容

  • remove():用于产出列表中指定的内容

  • sort():用于排列列表,用sort()时不能数字和字符混用

    • 数字按照数值大小排列
      - 字符汉中ASCII排列

这几个方法只使用于列表

spam = ['cat', 'bat', 'dog', 'rat']
print(spam.index('cat'))
spam.append('rabbit')
print(spam)
spam.insert(0, 'bird')
print(spam)
spam.remove('cat')
print(spam)
spam.sort()
print(spam)

3 元组和列表的强制类型转换

list()可以将强制转换为列表

tuple可以将强制转换为元组

spam = 'hello'
print(list(spam))
llist = list(spam)
llist.append('egg')
print(llist)

print(tuple(spam))

先定义一个spam变量,然后用list()将spam强制转换为列表类型

在将强制类型转换后的列表传递给llist,可以看到llist可以进行列表操作

这里有一点需要注意,举个例子说明这一点

spam = ['1', '2', '3', '4']
print(spam)
tmp = spam
print(tmp)
tmp[1] = '666'
print(tmp)
print(spam)

在第5行代码中,我只对tmp进行了操作,但当我打印spam的时候,发现spam的内容也跟着改变了

这是因为变量tmp是对列表的引用,而不是对列表值本身

有一点需要注意,tmp[n]中的n不能超过列表spam的长度

如果只想改变tmp的内容,不改变spam中的内容,可以用下面的方法

4 copy和deepcopy函数

import copy

spam = [1, 2, 3, 4]
chee = copy.copy(spam)
print(spam)
print(chee)
chee.append(5)
print(spam)
print(chee)

print('******************')

deep = copy.deepcopy(spam)
print(deep)
print(spam)
deep.append(6)
print(deep)
print(spam)

可以看到在使用copy 和deepcopy函数后,再发生更改并没有改变spam的内容

至于这几种方法有什么区别,等我再研究研究

5 列表和元组的区别
列表元组
符号为:[]符号为:()
可以修改、添加、删除不能修改、添加、删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值