Python学习笔记--(二)列表

这篇博客详细介绍了Python中的列表,包括访问、修改、添加和删除元素,以及如何组织列表进行排序和切片。此外,还讨论了元组的定义和不可变性,强调了列表和元组在使用上的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、列表简介

列表是由一系列按特定顺序排列的元素组成。在Python中,用方括号[ ]来表示列表,并用逗号来分割其中的元素。

1、访问列表元素

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python。索引从0开始。同时Python提供了一种特殊语法,可以用负数作为索引。代表从列表的后面来访问列表中的元素:索引-1返回最后一个列表元素,索引-2返回倒数第二个列表元素…以此类推。这在我们不知道列表长度的时候很有用。

fruits = ['apple','banana','pear']
print(fruits[0].title())
print(fruits[-1].title())
print(fruits)
Apple
Pear
['apple', 'banana', 'pear']

2、修改、添加、删除列表元素

修改列表元素

fruits[0] = 'watermelon'
['watermelon', 'banana', 'pear']

添加列表元素

  • 在列表末尾添加元素:append()
fruits.append('watermelon')
['apple', 'banana', 'pear', 'watermelon']
  • 在列表中间插入元素:insert(),该操作在对应索引的位置上添加元素,将原来该位置及其之后的元素都右移一个位置。
fruits.insert(-1,'mango')
['apple', 'banana', 'mango', 'pear']

删除列表元素

  • 使用del语句删除元素
del fruits[0]
['banana', 'pear']
  • 使用pop()方法删除元素:如果不加索引则删除列表末尾元素。
first_element = fruits.pop(0)
print(first_element)
print(fruits)
apple
['banana', 'pear']

如果从列表中删除一个元素且不再以任何方式使用它,就是用del语句;如果在删除元素后还想继续使用它,就用pop()方法。

  • 根据值删除元素:有时候你不知道要从列表中删除的值所处的位置,这种情况可以使用remove()方法。注意remove()方法只删除第一个指定的值,如果要删除的值在列表中出现多次,就需要使用循环来进行判断。
fruits.remove('banana')
['apple', 'pear']

3、组织列表

使用方法sort()对列表进行永久性排序

字符串会根据字母顺序排序,同时可以向sort()方法传递参数reverse=True来降序排序列表。

fruits = ['banana','pear','apple']
fruits.sort()
print(fruits)
nums = [3,1,5,7,2]
nums.sort()
print(nums)
nums.sort(reverse=True)
print(nums)
['apple', 'banana', 'pear']
[1, 2, 3, 5, 7]
[7, 5, 3, 2, 1]

使用函数sorted()对列表进行临时排序

要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可以使用函数sorted()。同样可以向sorted()函数传递参数reverse=True来降序排序列表。

fruits = ['banana','pear','apple']
print(sorted(fruits,reverse=True))
print(fruits)
['pear', 'banana', 'apple']
['banana', 'pear', 'apple']

反转列表元素的排列顺序

要反转列表元素的排列顺序,可以使用方法reverse()

fruits = ['apple','banana','pear']
fruits.reverse()
print(fruits)
['pear', 'banana', 'apple']

确定列表的长度

使用函数len()可以快速获得列表的长度。

fruits = ['banana','pear','apple']
print(len(fruits))
3

二、操作列表

1、遍历列表

fruits = ['banana','pear','apple']
for fruit in fruits:
    print(fruit)
banana
pear
apple
  • 要注意for语句后面的冒号以及for循环内部的缩进。

2、创建数值列表

使用range()函数

for i in range(1,5):
    print(i)
1
2
3
4
  • range()函数内的参数“左闭右开”。

使用range()创建数字列表

要创建数字列表,可使用函数list()range()的结果直接转换为列表。如果将range()作为list()的参数,输出将为一个数字列表。

numbers = list(range(1,5))
print(numbers)
[1, 2, 3, 4]

使用range()函数时还可以指定步长。例如下面的代码打印1~10内的偶数。

even_numbers = list(range(2,11,2))
print(even_numbers)
[2, 4, 6, 8, 10]

使用range()几乎能够创建任何需要的数字集,例如创建一个列表其中包含前十个整数的平方。结合了前面列表的添加操作。

squares = []
for i in range(1,11):
    i = i ** 2
    squares.append(i)
print(squares)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

对数字列表执行简单的统计计算

有几个专门用于处理数字列表的Python函数。例如找出数字列表的最大值、最小值和总和:

nums = [1,2,3,4,5]
print(min(nums))
print(max(nums))
print(sum(nums))
1
5
15

列表解析

前面介绍的生成列表squares的方式包含几行代码,而列表解析让你只需编写一行代码就能生成这样的列表。列表解析将for循环和创建新元素的代码合并成一行,并自动附加新元素。

  • 变量名 = [ 表达式 for循环]表达式用于生成要存储在列表中的值,for循环为表达式提供值
nums = [num ** 2 for num in range(1,11)]
print(nums)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

3、使用列表的一部分——切片

除了处理列表的所有元素外,我们还可以处理列表的部分元素–Python称之为切片
要创建切片,可指定要是用的第一个元素和最后一个元素的索引。同range()一样,取值也是“左闭右开”的。

players = ['Kobe','Paul','James','Curry','Jordan']
print(players[0:3])
print(players[-3:-1])
['Kobe', 'Paul', 'James']
['James', 'Curry']

如果没有指定起始索引,则默认从列表头遍历。如果没有指定终止索引,则默认遍历到列表末尾。

players = ['Kobe','Paul','James','Curry','Jordan']
print(players[:3])
print(players[3:])
print(players[:])
['Kobe', 'Paul', 'James']
['Curry', 'Jordan']
['Kobe', 'Paul', 'James', 'Curry', 'Jordan']

遍历切片

players = ['Kobe','Paul','James','Curry','Jordan']
for player in players[:3]:
    print(player)
Kobe
Paul
James

复制列表

要复制列表,可创建一个包含整个列表的切片。而不能直接将列表变量赋给另一个变量。

players = ['Kobe','Paul','James','Curry','Jordan']
another_players_one = players[:]
another_players_two = players
del players[0]
print(another_players_one)
print(another_players_two)
['Kobe', 'Paul', 'James', 'Curry', 'Jordan']
['Paul', 'James', 'Curry', 'Jordan']
  • players[:]创建了players的一个复制。而把players直接赋值到另一个变量可以理解为Java里面的引用,两个变量指向同一个列表。

三、元组

列表是可以修改的,但有时我们需要创建一系列不可修改的元素,元祖可以满足这种需求。Python将不能修改的值称为不可变得,而不可变的列表被称为元祖

1、定义元组

元祖使用圆括号而不是方括号来进行标识。定义元祖后,就可以使用索引来访问其元素,就像访问列表元素一样。

dimensions = (200,5)
for dimension in dimensions:
    print(dimension)
200
5

此时我们不能再通过dimensions[0] = 300来修改元祖内的元素。

2、修改元组变量

虽然不能修改元组的元素,但可以给存储元组的变量赋值

dimensions = (200,5)
print(dimensions)
dimensions = (300,5)
print(dimensions)
(200, 5)
(300, 5)
Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值