零基础学习 Python 之列表(一)

写在之前

大家好,这里是零基础学习 Python 系列,在这里我将从最基本的Python 写起,然后再慢慢涉及到高阶以及具体应用方面。我是完全自学的 Python,所以很是明白自学对于一个人的考验,所以在这里我会尽我最大的努力,把 Python 尽可能简单的表述清楚,让更多想要学习 Python 的朋友能够入门。同时写这个教程也算是对自己之前所学知识的一个巩固和提高,喜欢的朋友们可以点个关注,有问题欢迎随时和我交流。本文所有的代码编写均是Python3 版本。

列表定义

之前的文章里我们已经讲过了数字和字符串,它们是两种很基本的对象,今天要学的 list 也是一种对象,它在 Python 中具有非常强大的功能。

在 Python 中,列表用一对方括号 -- [] 表示,在方括号里你可以数字,字符串也可以是其他对象,甚至可以是多种不同的对象。除此以外,列表中元素的个数可以无限大,当然这是理想状态,我们总还是要看硬件设备的脸色行事。

>>> a = []

>>> a

[]

>>> b = ['1',2,'abcd']

>>> b

['1',2,'abcd']

>>> c = [1,'asd',[1,2,3]]

>>> c

[1,'asd', [1,2,3]]

索引和切片

还记得什么是索引和切片吗?如果忘记了,请回头去看这篇文章 --

零基础学习 Python 之字符串

列表和字符串一样,都是序列,列表里的元素也是有顺序的,所以也是有索引和切片的,看看下面的例子就明白了。

>>> a = [1,'2','rocky']

>>> a[]

1

>>> a[1]

'2'

>>> a[:3]

[1,'2','rocky']

>>> a[1:3]

['2','rocky']

>>> a[2][:3]

'roc'

由上面的例子我们可以看出来,其实列表里的索引和序列与字符串里的是一样的,我们完全可以把之前在字符串中的理解照搬过来,所以列表也可以从右向左编号,依次是 -1,-2,-3...但是如果要是切片的话,这里要注意了,请看下面的例子:

>>> str = ['abc','bcd','123']

>>> str[-3:-1]

['abc','bcd']

>>> str[-1:-3]

[]

看明白了吗?序列都是从左向右排,不管你的下标是正的还是负的都是这个规律。

当然了序列里还可以跳步,其实它的完整的写法是 list[start:end:step],默认step = 1 。

>>> str = [1,2,3,4,5,6,7,8]

>>> str[::2]

[1, 3, 5, 7]

在这里再多补充一点, step 也是可以等于负数的,str[::-1] 表示的是从列表的右边看这个列表,然后按照 step = 1 去列表中的元素,当然 step 还可以等于 -2,-3,具体是多少看到时候看心情。

>>> str = [1,2,3,4,5,6,7,8]

>>> str[::-1]

[8,7,6,5,4,3,2,1]

>>> str[::-2]

[8,6,4,2]

列表操作

列表是序列,但凡是序列都有基本的几种操作,比如在字符串的时候我们就讲过它的几种操作,列表的基本操作和字符串的差不多,在这基础上,列表还有其独特的操作,对于基本操作,比如连接操作等我在这里就不讲了,忘记的可以求看前面的文章,我在这里只是说一下列表独特的操作。

列表与字符串一个很大的不同是,字符串不可修改,但是列表可以修改。

>>> str = ['python','c++','java']

>>> str[] ='c#'

>>> str

['c#','c++','java']

>>> name ='rocky'

>>> name[] ='R'

Traceback (most recent call last):

File"", line1,in

TypeError:'str'object doesnotsupport item assignment

其次,除了可以修改元素以外,列表还可以继续给自己添加元素,但是不是说列表随便可以给自己加戏,必须要用 append() 方法向列表中追加元素,追加到末尾。

>>> str = ['python','c++','java']

>>> str[3] ='c#'

Traceback (most recent call last):

File"", line1,in

IndexError:list assignment index out of range

>>> str.append('c#')

>>> str

['python','c++','java','c#']

写在最后

感谢你能看到这里,希望我写的东西能够让你有到收获,但是我还是希望我在文章里插入的代码,你们能自己动手试一下,都很简单。原创不易,每一个字,每一个标点都是自己手敲的,每次基本都要花三四个小时的时间去做这件事,初心是为了分享,所以希望大家能多给点支持,该关注关注,该点赞点赞,该转发转发,有什么问题欢迎在后台联系我,也可以在公众号找到我的微信加我。

The end。

希望大家能够多多关注我

扫一扫下方的二维码

把我带回家,嘤嘤嘤…

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713A0A2QP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励