Python--列表
发布日期:2021-05-06 00:58:35 浏览次数:63 分类:精选文章

本文共 4043 字,大约阅读时间需要 13 分钟。

1. 列表

列表概述: Python中的列表是由一系列按特定顺序排列的元素组成的。它是Python中内置的可变序列。在形式上,列表的所有元素都放在一对中括号“[]”中,两个相邻元素间使用逗号“,”分隔。在内容上,可以将整数、实数、字符串、列表、元组等任何类型的内容放入到列表中

1.1 列表的创建与删除

在这里插入图片描述

补充: 通过调用 list() 函数将 zip() 对象强制转换成列表

my_list = [11, 12, 13]my_tuple = (21, 22, 23)for list in list(zip(my_list, my_tuple)):    print(list)

运行结果:

在这里插入图片描述


1.2 列表元素的访问与遍历

在这里插入图片描述

1.2.1 示例: 使用for循环

lists = [1, 2, 3, 4, 5]for list in lists:    print(list)

运行结果:

在这里插入图片描述


1.2.2 示例: 使用for循环和enumerate()函数

# 使用for循环和enumerate()函数lists = [1, 2, 3, 4, 5]for index, value in enumerate(lists):    print(f'{index}: {value}')

运行结果:

在这里插入图片描述


1.2.3 示例: 使用while循环

# 使用while循环lists = [1, 2, 3, 4]i = 0while i < len(lists):    print(lists[i])    i += 1

运行结果:

在这里插入图片描述


1.2.4 示例: 使用索引进行遍历

modern = ['高铁', '扫码支付', '共享单车', '网购']for index in range(len(modern)):    print(modern[index])

运行结果:

在这里插入图片描述


1.2.4 示例: 利用iter()生成迭代器遍历。iter()的语法为

iter(object[,sentinel])参数说明:object:支持迭代的集合对象。sentinel:如果传递了第二个参数,则参数object必须是一个可调用对象(如函数)此时,iter创建了一个迭代器对象,每次调用这个迭代器对象的__next__()方法都会调用object。
modern = ['高铁', '扫码支付', '共享单车', '网购']for val in iter(modern):    print(val)

运行结果:

在这里插入图片描述



1.3 列表元素的常用操作

1.3.1 添加元素的方法

在这里插入图片描述

示例:

lists = [1, 2, 3]# append() 方法在末尾添加一个对象lists.append(4)# extend() 可以一次追加多个值lists.extend([5, 6])# insert() 函数可以在指定位置插入值lists.insert(6, 7)print(lists)

运行结果:

在这里插入图片描述


1.3.2 删除元素的方法

在这里插入图片描述

示例: del语句可以直接删除整个列表

lists = [1, 2, 3,4,5]# del 可以直接删除整个列表del listsprint(lists)

运行结果:

在这里插入图片描述
示例: del语句可以删除单个值

lists = [1, 2, 3, 4, 5]# del 可以删除单个值del lists[0]print(lists)

运行结果:

在这里插入图片描述

示例: del语句可以删除最后一个值

modern = ['高铁', '扫码支付', '共享单车', '网购']del (modern[-1])print(modern)

运行结果:

在这里插入图片描述

示例: 使用pop()函数删除值

lists = [1, 2, 3, 4, 5]# pop() 默认会删除列表最后一个值 并且返回该元素print(lists.pop())print(lists)print("------------------")# pop() 也可以删除指定的元素 并且返回该元素print(lists.pop(0))print(lists)

运行结果:

在这里插入图片描述
示例: remove()可以根据值删除元素

lists = [1, 2, 3, 4, 5]# remove() 可以根据值删除元素lists.remove(3)print(lists)

运行结果:

在这里插入图片描述
示例: clear()方法用于清空列表

lists = [1, 2, 3, 4, 5]# clear() 方法用于清空列表lists.clear()print(lists)

在这里插入图片描述

示例: del lists[:] 也可以清空列表

lists = [1, 2, 3, 4, 5]# del lists[:] 也可以清空列表del lists[:]print(lists)

运行结果:

在这里插入图片描述


1.3.3 修改元素的方法

在这里插入图片描述

示例: reverse()函数可以反转列表

lists = [1, 2, 3, 4, 5]# reverse()函数可以反转列表lists.reverse()print(lists)

运行结果:

在这里插入图片描述
示例: copy()函数复制列表

lists = [1, 2, 3, 4, 5]# copy()函数复制列表lists_cpoy = lists.copy()print(lists_cpoy)

运行结果:

在这里插入图片描述


1.3.4 查找元素方法

在这里插入图片描述

index()的语法用于从列表中找出某个值第一个匹配项的索引位置,即获取指定元素首次出现的下标。index()方法的语法为:list.index(x,[,start,end])x:查找的对象star:可选,查找的起始位置end:end可选,查找的结束位置返回值:该方法返回查找对象的索引位置,如果没有找到对象则抛出异常。
modern = ['高铁', '扫码支付', '共享单车', '网购']print(modern.index('扫码支付'))

运行结果:

在这里插入图片描述

示例:count()函数

modern = ['高铁', '扫码支付', '共享单车', '网购', '高铁']print(modern.count('高铁'))

运行结果:

在这里插入图片描述
示例:len()函数

modern = ['高铁', '扫码支付', '共享单车', '网购', '高铁']print(len(modern))

运行结果:

在这里插入图片描述
示例:in 关键字

modern = ['高铁', '扫码支付', '共享单车', '网购', '高铁']print('高铁' in modern)

运行结果:

在这里插入图片描述


1.4 列表元素的统计与排序

  • 列表元素的统计

列表元素的统计: 在Python中,提供了sum()函数用于统计数值列表中各元素的和。

lists = [1, 2, 3, 4]print(sum(lists))

运行结果:

在这里插入图片描述

  • 列表元素的排序

列表元素的排序: Python中提供了两种常用的对列表进行排序的法。使用列表对象的sort()方法实现、使用内置的sorted()函数实现。

1.4.1 sort()

列表对象提供了sort()方法对原列表中的元素进行排序。排序后原列表中的元素顺序发生改变,sort()方法的语法格式为:listname.sort(key=None,reverse=False)参数说明:listname:要排序的列表名。key:表示从每个列表元素中提取一个比较键(例如,设置key=str.lower)表示排序时不区分大小写)reverse:可选参数,默认为升序排序(False),可以指定为True(降序排序)。
lists = ['c', 'B', 'a']print("原列表: ", lists)lists.sort(key=str.lower)print("列表默认升序: ", lists)

运行结果:

在这里插入图片描述

注意点:

  • 使用sort()方法进行排序时,采用的规则是先对大写字母进行排序,然后再对小写字母进行排序。
  • 如果相对字符串进行排序,应该设置key为不区分大小写
  • sort()对中文排序不支持。

1.4.1 sorted()

语法格式为:sorted(listname,key=None,reverse=False)该方法于sort()函数不同的是,该方法不会改变原列表,只会生成一个临时的副本。

示例:

lists = ['c', 'B', 'a']lists = sorted(lists, key=str.lower)print(lists)

运行结果:

在这里插入图片描述


1.5 列表的嵌套

嵌套列表就是列表中包含列表。嵌套列表可以模拟出现实中的表格、矩阵、2D游戏的地图、棋盘等。

示例: 通过对列表的嵌套应用,实现3×4矩阵的转置行和列。

matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]transposed = []for i in range(4):    midden = []    for row in matrix:        midden.append(row[i])    transposed.append(midden)print(transposed)

运行结果:

在这里插入图片描述


1.6 综合示例:

# 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?height = 100height_sum = []for item in range(10):    height_sum.append(height)    height /= 2print(height_sum)print('它在第10次落地时,共经过' + str(sum(height_sum)) + "米")print('第10次反弹: ' + str(height) + '米')

在这里插入图片描述



上一篇:Java--泛型(为什么要使用泛型、使用泛型的好处、泛型类、泛型方法、泛型接口)
下一篇:Python--序列

发表评论

最新留言

很好
[***.229.124.182]2025年04月05日 23时02分34秒