Python数据结构列表详解:基础操作、排序与解析
本文详细介绍Python中列表这一核心数据结构。涵盖列表的定义、索引与切片操作,常用内置函数如append和sort的使用,以及如何通过列表解析高效创建和处理数据。适合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的一个内置函数:type()。该函数在查看值或变量的数据类型时非常便捷。例如,type的输出结果中包含class类信息,可返回特定值、变量或模块函数的类型。在代码调试过程中,该函数作用显著,比如在使用数据集合但不知内部数据类型时,可用type准确返回对象类型。

1 序列
在Python中,序列是一组按顺序排列的值。Python内置了三种序列类型:字符串、元组和列表。
序列支持切片和索引操作,同时具备以下特征:
- 1 第一个正索引为0,指向序列左端;
- 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数据结构列表内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









