文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python数据结构列表是怎样的

2023-06-22 06:09

关注

Python数据结构列表是怎样的,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

正则小练习:匹配出以下字符串所有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提供了几个功能强大且高效的数据结构:列表、元组、字典以及集合。作为使用者的我们只需要组合使用即可。

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

Python数据结构列表是怎样的

1 序列

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

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

2 列表

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

Python数据结构列表是怎样的

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

Python数据结构列表是怎样的

除了以上索引功能,列表也支持修改元素的功能,如下图我们将num2中的indexes=3的值777改为了'red'字符串,Python对原值进行了删除。

Python数据结构列表是怎样的

这里可以得到一个结论:列表元素指向相应的值,这也产生了一个十分有趣的作用。这里让一个列表元素指向列表本身,创建了一个自引用的数据结构;打印输出中的 [...] 表明,Python可以识别自引用,不会愚蠢的不断打印列表(功能强大!) 。

Python数据结构列表是怎样的

2.1 列表函数

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

Python数据结构列表是怎样的

以函数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]))

Python数据结构列表是怎样的

extend列表追加函数的使用:

Python数据结构列表是怎样的

pop删除函数的使用:

Python数据结构列表是怎样的

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

2.2 列表排序

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

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

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

Python数据结构列表是怎样的

Python数据结构列表是怎样的

Python还可以给包含元组(将在下次讲解)的列表进行排序,

如下:给列表中的元组排序时,首先按元组的 第一个元素排序,如果第一个元素相同,则按第二个元素排序,依此类推。

Python数据结构列表是怎样的

2.3 解析列表

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

if __name__ == '__main__':    print([num * num for num in range(1,11)])    print('------------------')    num_list = []    for i in range(1, 11):       num_list.append(i * i)    print(num_list)

Python数据结构列表是怎样的

在看3个小例子:第一个表示获取1~10的立方,第二个表示修改现有列表的字符串,第三个表示将列表中的数字翻倍并减去3.

Python数据结构列表是怎样的

使用列表解析过滤筛选需要的结果集,如下:

Python数据结构列表是怎样的

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

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯