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

写在之前

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

常用列表函数

作为 Python 中出了名的苦哈哈,它必然有很多的函数去实现功能,感兴趣的朋友们可以用 dir(list) 查看,我在这里主要说一下那些经常用到的。

1. append:这个其实我们在昨天的文章 (

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

)中说过,它执行的结果就是将某个元素加入到一个一直列表的最右边。

>>> str = [1,2,3,4,5]

>>> str.append(6)

>>> str

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

2.extend:官方的说法是从可迭代的对象那里获取元素,将它们追加到已知的列表中,从而达到扩充的目的,其实就是能够将两个列表合并。

>>> str = [1,2,3,4,5]

>>> str1 = ['abc','def']

>>> str.extend(str1)

>>> str

[1,2,3,4,5,'abc','def']

3.count:这是一个可以帮我们搞清楚列表中的元素重复出现次数的方法。

>>> a = [1,2,3,4,5,1,2,3]

>>> a.count(1)

2

>>> a.append('a')

>>> a.append('a')

>>> a

[1,2,3,4,5,1,2,3,'a','a']

>>> a.count('a')

2

>>> a.count('b')

4.index:该函数能够查到你想查的函数在列表中第一次出现的位置,比起之前的文章我们说的索引,这个才是真真正正的索引。

>>> a = [1,2,3,4,'abc','def']

>>> a.index(2)

1

5.insert:这个厉害了,之前在 1 和 2 中我们说的 append 和 extend 只是能在列表的最右添加元素,而 insert 可以在列表的任意位置增加一个元素。

>>> a = [1,2,3,4,'abc','def']

>>> a.insert(,'rocky')

>>> a

['rocky',1,2,3,4,'abc','def']

6.remove & pop:列表中的元素不光能够增加元素,还可以删除元素, remove() 和 pop() 就是列表用来删除元素的函数。romove() 函数删除元素首先这个元素必须要存在,其次它是在原列表上进行删除,当列表中有重复元素的时候,只删除第 1 个。

>>> a = [1,2,3,4,1]

>>> a.remove(1)

>>> a

[2,3,4,1]

>>> a.remove('a')

Traceback (most recent call last):

File"", line1,in

ValueError:list.remove(x): xnotinlist

pop() 函数如果填写删除元素的索引的话,那么就是删除该元素,如果没有制定删除元素的索引,则删除列表的最后一个元素,并且 pop() 函数有返回值,返回的就是删除的那个元素。

>>> a = [1,2,3,4,1]

>>> a.pop(1)

2

>>> a.pop()

1

>>> a

[1, 3, 4]

7.reverse:这个函数很简单,就是直接把列表的元素顺序反过来。

>>> a = [1,2,3,4,1]

>>> a.reverse()

>>> a

[1, 4, 3, 2, 1]

8.sort:这个函数是对列表进行排序,默认是递增排序,通过改变默认参数 reverse 的值可以实现递减排序。

>>> a = ['c','d','a','k']

>>> a.sort()

>>> a

['a','c','d','k']

>>> a.sort(reverse = True)

>>> a

['k','d','c','a']

比较列表 & 字符串

列表和字符串这两种对象类型有很多相似的地方,也有很大的区别,在这里简单比较一下,也算是对前面所学的一个复习。

相同点:

1.两者都是序列类型,都可以从左向右(从左向右),依次用 0,1,2...(-1,-2,-3...)表示,通过这样的方式建立索引,同样可以用切片的方法得到 一个或多个元素。

2.对于序列的基本操作来说,二者都适用,比如连接操作等,还有像 len() 这一类的函数也都是适用的。

不同点:

1.字符串和列表的最大区别就是:列表的可变的,但是字符串是不可变的。我们在上面讲到的列表函数,诸如 append(),insert(),pop() 等对字符串来说都是不适用的。

2.元素的包裹性,这是我自己想的一个词,可能不太贴切。字符串里的每个元素都只是字符,而列表里的元素可以是其它任何的诸如数字,字符串,列表等对象类型。

到这里,列表差不多就写完了,列表虽然是苦哈哈,但先让它做这些事情把,显得我们比较仁义点。。

写在最后

虽然这几天的访问量很低,粉丝增长也很少,但我还是会继续写下去,这几天明显感觉写东西的条理更清晰了些,写的也稍微快了一点,我还是本着分享的心态,做最好的自己,然后认识更好的你们。

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

The end。

扫一下二维码点个关注呗...

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

扫码关注云+社区

领取腾讯云代金券

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