Python数据结构列表

 更新时间:2022年01月25日 11:54:13   作者:涤生手记大数据  
这篇文章主要介绍了Python数据结构列表,本文重点内容主要是对列表数据结构的使用,在Python中,序列是一组按顺序排列的值。Python 有 3 种内置的序列类型:字符串、 元组和列表,下面一起进入文章了解更详细内容吧,需要的小伙伴可以参考一下</P><P>

正则小练习:匹配出以下字符串所有url,

import re
 
def find_url(sentence, show_urls=None, delete_urls=None):
    r = re.compile(
        r'(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'".,<>?«»“”‘']))')
    url_list = r.findall(sentence)
    if show_urls == 1:
        for i in url_list:
            print(i[0])
 
    if delete_urls == 1:
        for j in url_list:
            # sentence = sentence.replace(j[0], '<URL>')
            sentence = sentence.replace(j[0], '')
        return sentence
    return "匹配完成"
 
 
if __name__ == '__main__':
    str1 = '你好哇 大佬 www.google.com'
 str2 = '哇 www.baidu.com 打不开了'
 str3 = 'python网址在哪儿 https://www.python.com 找到了'

对于字符串的基础使用基本已经阐述完毕!需要复杂使用的还需项目实战以及向大佬们请教。后面的几篇文章还是想阐述关于数据结构的一些基础使用。字符串可以看作为只存储字符序列的数据结构,同样为了方便众多使用者的理念,Python提供了几个功能强大且高效的数据结构:列表、元组、字典以及集合。作为使用者的我们只需要组合使用即可。

在开始数据结构使用前,需要介绍一个Python的另一个内置函数:type(),该函数在我们需要了解值或变量的数据类型时极为方便。如下:type输出结果中包含class 类,可以返回特定值和变量或者是否为模块函数。在代码调试过程中,该函数会起到很大的作用,例如在使用数据集合但并不知集合内部的数据类型时,可以使用type准确的返回对象类型。

1 序列

在Python中,序列是一组按顺序排列的值。Python 有 3 种内置的序列类型:字符串、 元组和列表。

序列支持切片、索引,同时具备以下特征:

  • 1 第一个正索引为零,指向左端;
  • 2 第一个负索引为 -1,指向右端;
  • 3 可使用切片表示法来复制子序列;
  • 4 可使用 + 和 * 进行拼接;
  • 5 可使用函数 len 计算其长度,例如,len(string) 返回序列 string 包含的元素数;
  • 6 表达式 x in string 检查序列 string 是否包含元素 x 。

2 列表

在Python中,列表的元素不是固定不变的,而是可变的,也就是表示可在不复制的情况下,添加、删除或修改列表元素。列表使用方括号将元素括起来,里面的元素使用逗号分开,举几个简单示例:随便定义一个num列表,可以使用+和*拼接列表,也可以使用len()获取列表长度,并且,同样可以使用切片和索引方式来获取列表中的子列表。

需要注意的是:列表可包含任何类型的值:数字、字符串甚至其他序列。空列表用 [] 表示,而只包含一个元素(x)的单元素列表写做 [x] 。其访问方式与字符串的索引方式一样,以num2为例,如下图:列表索引从 0 开始,第二个索引是 1,依此类推。当然也可以从右向左进行索引。

2.1 列表函数

Python针对列表也提供了十分强大的函数,整理如下表所示:除count返回值只返回一个数字之外,其他所有函数都涉及到修改传递给它们的列表。使用时一定小心,不然会误删列表中的元素或者在错误的位置插入元素。

以函数append为例,在列表num末尾添加一个元素,简单的一种编程模式,在函数开头创建一个空列表,然后再列表中添加元素,

如下:判断一个列表中的数据是正数还是负数。

def list_num(list):
    msg = []
    for num in list:
        if num < 0:
            s = str(num) + ' 是负数'
        elif 0 <= num <= 9:
            s = str(num) + ' 是正数'
        msg.append(s)
    return msg
 
if __name__ == '__main__':
    print(list_num([3,-10.7,22,-99,1]))

其它相关函数的使用就不一一举例了,有兴趣的可以自己体验一下。

2.2 列表排序

对数据进行排序是计算机最常做的事情 之一。无论是对人还是计算机来说,排序后 的数据通常比未排序的数据更容易处理。例如,在列表中查找最小的元素时,如果列表经过了排序,就根本不需要查找:第一个元素就是,人们的习惯就是喜欢排列有序的数据(特例除外哈)。

在 Python 中,要对列表进行排序,最简 单的方式是使用函数 sort() 。实际上,这个函数可用于对包含数万个元素的列表进行快速排序,同时可以修改列表。

如下:sort总是按照从小到大的顺序排序,若需要相反的顺序排列元素,先调用sort方法之后在使用reverse方法。

2.3 解析列表

在实际Python使用中,会有很多地方使用到列表,所以Python提供了一种用于创建列表的特殊表示法—列表解析。下面举例如何使用列表解析来创建 一个由 1~10 的平方组成的列表: 这种表示法的主要优点是简洁易读。for循环代码没有使用列表解析,使用越多就越会发现,列表解析方法编写容易并且简洁。

list = []
    num = [-1, 0, 6, -4, -2, 3, 8, -12]
    for n in num:
        if n > 0:
            list.append(n)


对比使用常规循环,可以体现出列表解析更加简洁易读!其它还可以实现诸如删除特定字符串的功能,有兴趣的朋友们可以实现一下删除特定字符串的列表解析,十分简单。

到此这篇关于Python数据结构列表的文章就介绍到这了,更多相关Python数据结构列表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pyqt5圆形label显示打开的摄像头功能

    pyqt5圆形label显示打开的摄像头功能

    本文主要给大家讲解如何使用pyqt5打开摄像头并在label上显示,以及优化成圆形label框。通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • python 数据生成excel导出(xlwt,wlsxwrite)代码实例

    python 数据生成excel导出(xlwt,wlsxwrite)代码实例

    这篇文章主要介绍了python 数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python实现多线程HTTP下载器示例

    Python实现多线程HTTP下载器示例

    本篇文章主要介绍了Python实现多线程HTTP下载器示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • python避免死锁方法实例分析

    python避免死锁方法实例分析

    这篇文章主要介绍了python避免死锁方法,较为详细的分析了死锁的成因与避免形成死锁的方法,需要的朋友可以参考下
    2015-06-06
  • python实战小游戏之考验记忆力

    python实战小游戏之考验记忆力

    本篇文章介绍了用python编写的曾经风靡的考验记忆力的小游戏,详细介绍了整个思路和过程以及代码,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • Django框架使用富文本编辑器Uedit的方法分析

    Django框架使用富文本编辑器Uedit的方法分析

    这篇文章主要介绍了Django框架使用富文本编辑器Uedit的方法,结合实例形式分析了Django框架中使用Uedit的安装、配置方法及Uedit相关插件制作方法,需要的朋友可以参考下
    2018-07-07
  • python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例

    python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例

    这篇文章主要介绍了python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Django 接收Post请求数据,并保存到数据库的实现方法

    Django 接收Post请求数据,并保存到数据库的实现方法

    今天小编就为大家分享一篇Django 接收Post请求数据,并保存到数据库的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • python存储16bit和32bit图像的实例

    python存储16bit和32bit图像的实例

    今天小编就为大家分享一篇python存储16bit和32bit图像的实例,具有的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • 利用Pytorch实现获取特征图的方法详解

    利用Pytorch实现获取特征图的方法详解

    这篇文章主要为大家详细介绍了如何利用Pytorch实现获取特征图,包括提取单个特征图和提取多个特征图,文中的示例代码讲解详细,需要的可以参考一下
    2022-10-10

最新评论