程序员

跟我读python3文档:019_数据结构(5. Data St

2017-09-05  本文已影响128人  咖喱py

贯穿始终的理念:别废话,就是干!


往期回顾


文档解读

python3文档第五小节链接地址:5. Data Structures

本章主要讲解5.1. More on Lists(列表的更多信息)这个小节


5.1. More on Lists

本期我们主要讲解数据结构。
之前我们已经接触过数据结构了,比如字符串、列表、字典等,我们知道了他们的基本表现形式,以及他们的特性。比如列表是用方括号括起来的一组数据,本身是可改变的;字符串是特殊的列表,本身不可改变等。

我们还讲过一句话:在python中,一切皆对象。
我们说对象其实就是一种特殊的数据结构,它包含变量和函数。我们把对象里的变量称为属性,把函数称为方法。
既然一切皆对象,列表自然也是对象,列表自然也有变量和函数。
所以,本期我们学习的就是列表里的函数,即:列表的方法。

学函数主要是学什么还记得吗?

学列表的方法也是这个套路。

在正式学习方法前,我们先来回忆一下之前讲解的列表的知识:

  1. 列表是一个序列,列表里的每一个值都有一个排序的序号最为下标,这个序号被称为索引值。索引值是从零开始计数的。
  2. 列表是一个可变序列,我们可以通过索引值来改变指定序号的值。
>>> a = [234, 345, 567]
>>> a[0] = 100
>>> a
[100, 345, 567]
  1. 我们可以通过切片操作,取得列表指定范围的值
>>> a = [234, 345, 567,789]
>>> a[0 : 2]
[234, 345] 

如果不记得这些知识的话,可以翻回往期教程,或是搜索相关关键字学习,尝试独立解决问题。
如果对以上这些知识都没有问题了,那就开始接下来的学习吧~

段落截取(一)

The list data type has some more methods. Here are all of the methods of list objects.

名词解释

methods
方法,也就是我们说的列表内部自带的函数。

段落大意

列表类型有很多方法,我们将全部介绍。


作者:咖喱py

知识点:数据类型的内部方法调用,都是以数据(或变量名)+点+方法名的方式调用。
形式如下:list.append(x)

这里你要时刻记得,“方法”就是函数!之后我们要按照学函数的步骤,学习“方法”

列表方法简介

  1. list.append(x)

举例:

>>> list1 = ['galipy', 'python']
>>> list1.append('jianshu')
>>> list1
['galipy', 'python', 'jianshu']

思考:
添加一个列表会发生什么?

>>> list1 = ['galipy', 'python']
>>> list1.append(['jianshu', 'galipython'])


  1. list.extend(iterable)

举例:

>>> list1 = ['galipy', 'python']
>>> list2 = ['Google', 'baidu']
>>> list1.extend(list2)
>>> list1
['galipy', 'python', 'Google', 'baidu']

思考:

>>> list1 = ['galipy', 'python']
>>> list1.extend(range(1,5))
>>> list1


  1. list.insert(i, x)

举例:

>>> list1 = ['galipy', 'python', 'google']
>>> list1.insert(1, 'Baidu')
>>> list1
['galipy', 'Baidu', 'python', 'google']


  1. list.remove(x)
>>> list1 = ['galipy', 'python', 'google', 'python']
>>> list1.remove('python')
>>> list1
['galipy', 'google', 'python']

  1. list.pop([i])
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.pop( )                                              #移除默认项
'baidu'
>>> list1                                                     #打印列表
 ['galipy', 'python', 'google']
>>> list1.pop(1)                                              #移除指定项
'python'
>>> list1                                                     #打印列表
['galipy',  'google']

注意区分remove和pop,尤其是他们的参数和返回值的区别。


  1. list.clear()
>>> list1 = ['galipy', 'python', 'google']
>>> list1.clear( )
>>> list1
[ ]

  1. list.index(x[, start[, end]])
>>> list1 = ['galipy', 'python', 'google']
>>> list1.index('galipy')
0
>>> list1
['galipy', 'python', 'google']
>>> list1.index('galipy', 1, 2)       #限定错误范围
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'galipy' is not in list

  1. list.count(x)
>>> list1 = ['galipy', 'python', 'google', 'baidu', 'python']
>>> list1.count('python')
2

  1. list.sort(key=None, reverse=False)
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.sort( )
>>> list1
['baidu', 'galipy', 'google', 'python']

注意排序结果,他是按照首字母顺序排列的,如果首字母相同,看下一个字母。


  1. list.reverse()
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list1.reverse( )
>>> list1
['baidu', 'google', 'python', 'galipy']

  1. list.copy()
>>> list1 = ['galipy', 'python', 'google', 'baidu']
>>> list2 = list1.copy( )
>>> list2
['galipy', 'python', 'google', 'baidu']

以后你还会遇到很多数据类型,学习很多方法,但它们很多都与列表的方法类似,所以,
请背诵以上这些方法!

别废话,就是干!
还不快点赞!

上一篇 下一篇

猜你喜欢

热点阅读