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

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

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

1 基础概念

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

列表用[]表示

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

列表中的内容称为 表项

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

spam = ['cat', 'bat', 'dog', 'rat']print(len(spam))

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

列表的范围选取中,比如

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)

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

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

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

tuple可以将强制转换为元组

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

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

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

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

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

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

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

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

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

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

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

4 copy和deepcopy函数

import copyspam = [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)

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

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

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

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