Python--列表

之前,我们已经探讨过字符串的相关操作了(Python–字符串)。列表和字符串相同,他也是一种序列,所谓序列,就是按照一定顺序存储对象的容器,容器中的每个序列都被默认存在一个下标(索引)与之对应。从这个角度讲,列表当然和字符串在序列的性质方面是有相同之处的。不过他们的不同之处更多,比如在存储的方式上,存储对象的类型上等等。

列表也是一种序列

我们发现,列表在创建和访问上,满足和字符串类似的性质。

1. 列表的创建

和建立字符串一样,分为两种:直接赋值以及通过 list() 函数

alist = [1, 2, "we", [12.5, "how"]] # >>> 由四个元素构成的列表
alist = [] # >>> 空列表
alist = list("123") # >>> ["1", "2", "3"]

列表由中括号 “[ ]” 里面写入对象的形式表示,不同的对象之间由 “,” 隔开,当然,如果中括号内什么都没有,就表示创建了一个空列表。我们可以发现,Python中列表的一个显著特征是它里面可以存储任何类型的对象(整型,浮点型,字符串,甚至是列表自己等等),而不像字符串,只能存储字符。

另外,需要注意的是,使用 list() 函数时,传入的参数一定得是可迭代的,比如传入整数,浮点数,就一定会报错。

2. 列表的访问

两种方法:通过下标;通过切片

alist = [1, 2, 3, 4, 5]
alist[-1] # >>> 5
alist[0:2] # >>> [1, 2]
alist[0::2] # >>> [1, 3, 5]
alist[::-1] # >>> [5, 4, 3, 2, 1]

和字符串一样,索引的设置也是从0开始的,而且同样存在正索引和负索引。切片也一样是由三个3个参数构成[begin : end : step],具体的设置和字符串中是一模一样的,在此不赘述(参见:Python–字符串

相关操作

我们已经知道字符串是不可变的,也就是说,我们所做的关于对字符串的更新操作,其实都是通过新建一个新的字符串对象实现的。但是列表则方便的多,他是可变的,你可以随时添加、删除、修改列表中的元素。再加上我们上面谈到的列表可以存储任意类型的对象,那么,其实可以想象,列表为我们提供的这种非常便捷的数据存储结构,一定会大大简化程序的编写。

1. 添加

append() 函数可以实现直接向列表的末尾添加元素,而且语法非常简单。

alist = []
alist.append(1) # >>> alist = [1]
alist.append("we") # >>> alist = [1, "we"]

注意,此时就是列表alist本身改变了,而不是新建了另一个列表,这一点和字符串有着本质区别。

2. 插入

append() 函数只能在列表的末尾添加元素,而有时,我们需要在一些特定的位置插入元素,这就需要用到 insert() 函数。

alist = ["I", "Python"]
alist.insert(1, "wrote") # 在位置1处插入字符串对象 "wrote"
print(alist) # >>> ["I", "wrote", "Python"]

insert() 函数的结构时这样的:insert(index, obj). 第一个参数表示要插入的位置,第二个参数表示要插入的元素

3. 删除

两种删除方法:remove(obj)pop(index)

从两个函数的参数就可以看出使用场景的不同。如果我们已知要删除对象本身的值,则使用 remove(obj) 直接删除,而如果知道要删除对象的位置,则使用 pop(index) 根据索引删除元素

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值