`
wx1568016009
  • 浏览: 22759 次
文章分类
社区版块
存档分类
最新评论

Python基础(二)

 
阅读更多

Hello,这一期我们把Python的三个常用的基础数据结构之一的List讲一下(具体来说应该是四个,set也算一个),把数据结构讲完后,下期就开始讲控制语句了,有了控制语句,基本的逻辑代码就可以敲起来了。

注:小编所介绍到的知识都是Python3.0的版本。

640?wx_fmt=jpeg


                                      List列表

List属于Python的6个基本序列之一,它有着序列的通用特性,包括索引,切片,加法,乘法,长度,检查成员等。list数据结构基本标志是'[ ]',它的成员都是在中括号里面的,例如:

list1=['java','python','C++','typescript','HTML']

这边是一个列表,列表里面的元素可以由各种元素组成,数字,字符串,列表等。他们可以混合存在,就是说,一个列表里面可以同时存在列表,字符串和数字。他们之间互不影响。例如:

list2=[list1,'helloworld',25.55,[1,2,3]]

执行输出:print (list2)

PS D:\johnturingwu> python D:\johnturingwu\test.py

[['java', 'python', 'C++', 'typescript', 'HTML'], 'helloworld', 25.55, [1, 2, 3]]

从这里我们也可以看出,列表其实就相当于一个仓库,它里面能存放好多数据,所以一般遇到定义多个数据的时候,我们就可以通过一个list来解决问题。


1、访问列表中的值

我们刚学会了定义一个list,现在我们要从list中把需要的值取出来该怎么取呢?

很简单,通过下标取值即可。

在list中,每个元素都有自己的下标,他们从前至后是有序的,从0开始计数,到最后一个结束,一般取下标的时候我们需要用中括号括起来,就像这样:list1[0],list1[1],list1[2].....

当然,除了这样计数,我们还有另一种计数方法,倒过来计数:从后至前数,最后一个也就是倒数第一个,它的下标是-1,依次往前数,就像这样:list1[-1],list[-2],list[-3].....

测试:

print (list1[0],list1[-1])

输出:java HTML

以上便是通过下标访问单个元素的方式。


那么问题来了,要是我们需要回去大量连续的元素数据,那应该怎么办?

难道还需要list[1],list[2],list[3]....这样一直写下去吗?

答案当然不是的,我们可以通过切片来获取元素。如何进行切片呢?下面小编就来介绍一下。

切片,顾名思义,就是从整个list中选择某一个区间的元素,我们是通过在中括号中加第二个参数,来完成切片的。两个数字之间" : "进行连接,例子如下:

list1[0:3]

这就是对list1进行切片,获取前3个元素的值。(第一个元素的下标为0),来看一下例子的输出结果:

list1=['java','python','C++','typescript','HTML']

print(list1[0:3])

输出:

['java', 'python', 'C++']


有同学开始问了:这里不是截取了0-3四个元素吗,结果应该是四个啊?怎么输出只有三个?

这里小编要讲一下,使用切片时有一点要注意:切片的两个参数,是第一个参数的值可以取的到,但第二个参数的值就取不到了,用数学用来说就是左闭右开区间【数学表示法 [0,3)】,能取的到0(第一个元素),取不到3(第四个元素)。


那有的同学又开始问了:切片时候选的数字能不能倒过来数,从-1开始往前数?

答案当然是可以的。你觉得怎么方便怎么来,但是有一点要注意一下,次序不能乱,要注意下标的顺序,我们来举个具体的例子:

print(list1[-1:-3])

输出:

[]


print(list1[-3:-1])

输出:

['C++', 'typescript']

从中我们我们看出,如果截取的次序颠倒,我们就拿不到我们想要的值,只能得到一个空列表。 这里我们也看到了,最后一个值没有被取到。那有什么方法能娶到最后一个值呢,答案有两个:

list[-3:5]        第二个参数的值取列表最后一个元素的下标

list[-3:]          冒号后面省略不写,系统默认取到最后一个元素


2、更新列表中的值

刚刚我们学会了访问列表中的值,那列表中的值我们怎么去修改呢?

很简单,指定你想修改元素的下标,在给它赋值即可,我们可以看看这个例子:

list1=['java','python','C++','typescript','HTML']

list1[0]='PHP'       #第一个元素换成PHP

print(list1)

输出:

['PHP', 'python', 'C++', 'typescript', 'HTML']


list1=['java','python','C++','typescript','HTML']

list1[0:3]=['Python']   #把前三个元素用Python代替

print(list1)

输出:

['Python', 'typescript', 'HTML']


3、删除列表中的值

列表中的值可以通过del语句进行删除

del list1[2]

输出:

['java', 'python', 'typescript', 'HTML']


del也可以删除整个list

del list1

此时整个list1都被删除了

再次打印list1会报错:

Traceback (most recent call last):

  File "C:\Users\yuqing.wu\Desktop\qaaa\test.py", line 3, in <module>

    print(list1)

NameError: name 'list1' is not defined


4、list的函数

关于list,有一些自己的函数,这边我们介绍四个常用的函数:

a.len()函数:返回列表的长度

   len(list1)

   输出:

_> 5

b.max()函数:返回列表中的最大值(按asc码大小排序)

   max(list1)

   输出:

typescript

c.min()函数:返回列表中的最小值

   min(list1)

  输出:

_> C++

d.list()函数:将一个其他序列转化list

   string="hello"

   print(list(string))

   输出:

_> ['h', 'e', 'l', 'l', 'o']


5、list的方法

list有很多自己的内置方法,这边我们来看看一些常用的方法。

list.append(obj)

用来在列表中添加对象的

list1=['java','python','C++','typescript','HTML']

a='php'

list1.append(a)

print(list1)

_> ['java', 'python', 'C++', 'typescript', 'HTML', 'php']


list.count(obj)

用来统计某个元素在列表中出现的次数

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

print(list2.count(1))

输出:

_> 6    

代表元素1出现了6次


list.extend(seq)

在列表中添加新的列表中的元素,参数传入的是一个序列

list1=['java','python','C++','typescript','HTML']

list2=['PHP','R','Ruby','swfit']

list1.extend(list2)

print(list1)

输出:

_> ['java', 'python', 'C++', 'typescript', 'HTML', 'PHP', 'R', 'Ruby', 'swfit']

如果这里用append方法,它则是将list2嵌套在list1中:

list1.append(list2)

print(list1)

输出:

_> ['java', 'python', 'C++', 'typescript', 'HTML', ['PHP', 'R', 'Ruby', 'swfit']]


list.pop()

移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

list1=['java','python','C++','typescript','HTML']

print(list1.pop())

print(list1)

输出:

_> HTML
['java', 'python', 'C++', 'typescript']


list.clear()

用来请空列表

list1=['java','python','C++','typescript','HTML']

list1.clear()

print(list1)

输出:

_> []


list.reverse()

将列表中的元素倒过来排

list1=['java','python','C++','typescript','HTML']

list1.reverse()

print(list1)

输出:

_> ['HTML', 'typescript', 'C++', 'python', 'java']


list.sort()

对列表进行排序,按照asc码排列的顺序

list1=['java','python','C++','typescript','HTML']

list2=[1,2,4,5,6,3,2,1,2,1,5,1,11,3]

list1.sort()

list2.sort()

print(list1)

print(list2)

输出:

_> ['C++', 'HTML', 'java', 'python', 'typescript']
[1, 1, 1, 1, 2, 2, 2, 3, 3, 4, 5, 5, 6, 11]


今天关于列表的知识就讲到这里了。

下期再见。

分享到:
评论

相关推荐

    python基础二.md

    pycharm的简单安装和使用,以及python项目的创建,while循环,格式化输出,运算符,编码的简单介绍

    python基础教程第二版

    《Python基础教程第二版》是针对初学者的一本经典教材,尤其适合那些对Python 2.0版本感兴趣的读者。本书全面、深入地介绍了Python编程语言的基础概念和语法,旨在帮助读者掌握这一强大而灵活的编程工具。以下是根据...

    python基础教程第二版答案-Python基础教程(第2版).pdf

    《Python基础教程(第2版)》是一本全面介绍Python编程的指南,适合初学者入门。Python作为一种解释型、面向对象、动态数据类型的高级程序设计语言,因其简洁的语法和强大的功能而广受欢迎。该书分为基础篇和高级篇...

    python基础教程第二版(高清书签中文)

    python 基础教程 第二版 高清 书签 中文: 本书包括Python程序设计的方方面面,首先从Python的安装开始,随后介绍了Python的基础知识和基本概念,包括列表、元组、字符串、字典以及各种语句。然后循序渐进地介绍了...

    python基础教程第二版修订版(有书签)

    python 基础教程第二版修订版,是修订版。高清,有书签,由于太大分为两次上传,把两个压缩包一起解压

    Python基础入门教程 Python语言编程导论 Python应用案例1 (共12页).ppt

    Python基础入门教程 Python语言编程导论 Python应用案例二 (共24页).ppt Python基础入门教程 Python语言编程导论 SciPy扩展库简介 (共53页).ppt Python基础入门教程 Python语言编程导论 算法评价 (共29页).ppt...

    python基础教程第二版修订版(有书签,压缩包第二部分)

    python基础教程第二版修订版,压缩包第二部分,可以直接百度云下载链接:http://pan.baidu.com/s/1mhGXiqO 密码:pjsj

    python基础教程第二版+源代码

    "Python基础教程第二版"是学习Python语言的经典教材,由专家编写,旨在为初学者提供全面而深入的Python知识。这本书包含了Python的基础概念、语法结构、数据类型、控制结构、函数、模块和包、面向对象编程以及错误...

    python基础教程txt免费-Python基础教程(第2版).pdf

    《Python基础教程(第2版)》是一本全面覆盖Python编程基础知识的经典教程,适用于不同层次的Python开发者。这本书经过了全面的更新,适应了Python语言的最新变化,无论是初学者还是经验丰富的程序员都能从中受益。 ...

    Python基础教程第二部分

    Python基础教程第二部分,文件大,分成了两个部分上传。

    python基础教程配套源码

    "Python基础教程配套源码"是一份旨在帮助初学者深入理解Python编程原理和实践的资源。这个压缩包可能包含了与Python基础教程相关的各种示例代码、练习和项目,帮助学习者通过实际操作来巩固理论知识。 在Python的...

    Python基础入门教程 Python语言编程导论10 第十章 python的GUI编程 (共107页).ppt

    Python基础入门教程 Python语言编程导论 Python应用案例二 (共24页).ppt Python基础入门教程 Python语言编程导论 SciPy扩展库简介 (共53页).ppt Python基础入门教程 Python语言编程导论 算法评价 (共29页).ppt...

    Python基础教程 第二版 高清PDF

    本书《Python基础教程 第二版》是学习Python编程的绝佳资源,高清PDF格式使得阅读体验更佳,适合初学者以及希望巩固Python基础知识的开发者。 在Python的基础教程中,通常会涵盖以下几个核心知识点: 1. **Python...

    python课时安排-《Python基础》课程标准-64课时.pdf

    《Python基础》课程标准详细规划了64课时的教学内容,旨在为计算机应用、软件技术、大数据技术与应用以及云计算技术与应用专业的学生提供坚实的Python编程基础。这是一门核心的职业基础课程,拥有课程代码******,...

    python 基础教程 Hetland 第二版 源代码

    《Python基础教程》是Martin Hetland所著的一本经典教材,第二版更是对初学者和有一定经验的开发者提供了深入浅出的Python知识讲解。 在这一版的源代码中,读者可以找到书中各章节实例的实现,这对于理解Python编程...

    python 基础教程第二版

    总之,"Python基础教程第二版"将引导你一步步走进Python的世界,无论你是零基础的编程新手还是希望扩展技能的开发者,都能从中受益。通过深入学习和实践,你将能够熟练运用Python解决各种问题,开启你的编程之旅。

    Python基础训练100题(带答案).docx

    这篇文档提供了100个Python基础训练题,旨在帮助学习者巩固Python3的基本语法和概念。这些实例覆盖了Python中的多种核心概念,包括数字操作、字符串处理、循环、条件判断、函数、类、模块以及一些进阶特性。 例如,...

    Python基础教程(第2版 修订版).pdf

    《Python基础教程(第2版 修订版)》是一本深入浅出的Python编程入门书籍,旨在引导初学者全面掌握Python语言的核心概念和技术。这本书详细介绍了Python程序设计的各种要素,涵盖了从基本语法到高级特性,旨在帮助读者...

    Python基础教程(第二版)源代码.zip

    《Python基础教程(第二版)》是一本深受Python初学者喜爱的经典教材,它以其清晰的讲解和丰富的示例引领读者逐步掌握Python编程的基础知识。源代码.zip文件包含了本书中的所有实例代码,是学习过程中不可或缺的参考...

Global site tag (gtag.js) - Google Analytics