Python-操作列表

操作列表

  • 一、引言
  • 二、遍历整个列表
    • 1、对所有元素进行相同操作
    • 2、 缩进
    • 3、在for循环结束后执行一些操作
  • 三、创建数值列表
    • 1、使用range()函数
    • 2、使用range()创建数值列表
    • 3、对数值列表执行简单的统计计算
  • 四、使用列表的一部分
    • 1、切片
    • 2、遍历切片
    • 3、复制列表
  • 五、元组
    • 1、定义元组
    • 2、遍历元组
    • 3、修改元组变量
  • 六、小结

一、引言

在上一节,我们学习了如何创建简单的列表,并学习了如何操作列表元素。在这一节,我们将学习如何遍历整个列表,通过for循环,高效处理任意长度的列表。

二、遍历整个列表

1、对所有元素进行相同操作

我们常常需要遍历列表中的所有元素,对每个元素执行相同的操作,一个一个操作未免太过麻烦,这个时候我们就可以使用for循环,python中的for循环与C语言中的类似,但表达更为简单,例如:

Words=['a','b','c','d']
for Word in Words:
    print(Word)

这样就可以得到:

a
b
c
d

操作极为简洁。

2、 缩进

在python中通常以缩进来定义代码块,这一点与C语言不同,这导致缩进在python中有着极为重要的作用。python中每级缩进通常采取4个空格。

3、在for循环结束后执行一些操作

在for循环结束后,我们总是想提供一些总结性输出或继续执行其他任务,在for循环后面,没有缩进的代码只会执行一次,不会重复执行:

Words=['a','b','c','d']
for Word in Words:
    print(Word)
print("That's all!")

得到:

a
b
c
d
That's all!

三、创建数值列表

1、使用range()函数

python函数range()函数能够帮助我们很轻松地生成一系列的数:

for num in range(1,5)
    print(num)

这里看似会生成1到5,实则不然:

1
2
3
4

这是因为range()函数的执行逻辑是让python从指定的第一个数开始计数,并在到第二个值的时候停止,因此不包含第二个数。
在调用range()函数时,也可只定义一个参数,那么range()函数将从0开始,数到那个指定的参数为止,例如range(6)将返回0到5.

2、使用range()创建数值列表

要创建数值列表,可以用list()函数将range()函数的结果直接转换为列表:

num=list(range(1,5))
    print(num)

这样就会输出一个数值列表:

[1,2,3,4]

在使用range()函数时,还可以指定步长。为此,我们可以给range()函数指定三个参数,python将根据这个步长来生成数。
例如,打印1到10之间的奇数:

num=list(range(1,112))
    print(num)

结果是:

[1,3,5,7,9]

使用range()函数几乎能创建任意有序数值的集合。例如在python中,用**表示乘方,我们可以使用range()函数让前十个正整数的平方加入一个列表:

num=[]
for value in range(1,11):
    num.append(value**2)

print(num)

得到:

[1,4,9,16,25,36,49,64,81,100]

3、对数值列表执行简单的统计计算

有几个python函数能够帮助我们求数值列表的最大最小值以及总和:

num=[1,4,9,16,25,36,49,64,81,100]
print(min(num))
print(max(num))
print(sum(num))

得到:

1
100
385

四、使用列表的一部分

1、切片

在python中,我们不仅可以处理列表的单个元素,还可以处理列表的部分元素,这在python中被称为切片(slice)。
要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与range()函数一样,python 在到达指定的第二个索引之前的元素时停止。要输出列表中的前三个元素,需要指定索引0和3,这将返回索引分别为0到2的元素:

num=[1,4,9,16,25,36,49,64,81,100]
print(num[0:3])

可以没有第一个参数,python将从第一个列表元素开始,到指定参数时结束:

num=[1,4,9,16,25,36,49,64,81,100]
print(num[:3])

也可以没有第二个参数,python将返回第一个参数到最后一个列表元素。

2、遍历切片

遍历切片与遍历列表的形式相同,例如:

num=[1,4,9,16,25,36,49,64,81,100]
for n in num[0:3]:
    print(n)

3、复制列表

通常我们需要根据既有列表创建全新的列表。要复制列表,可以创建一个包含整个列表的切片,方法时同时省略起始索引和终止索引([:]):

num=[1,4,9,16,25,36,49,64,81,100]
newnum=num[:]

有的朋友可能会想使用以下的方法:

num=[1,4,9,16,25,36,49,64,81,100]
newnum=num

但是这样如果更改了原列表,新列表会跟着一起改变,这样做新旧列表是相关联的,两个变量指向了一个列表。

五、元组

列表是变化的,可以修改的,如果我们要创建一系列不可修改的元素,我们可以使用元组(tuple)。

1、定义元组

元组与列表看起来很像,但元组使用()而不是[]标识。定义元组后,就可以像访问列表一样用索引访问元组:

num=(1,4,9,16,25,36,49,64,81,100)
print(num[0])

但是注意,严格来讲,元组是由","标识。如果我们要定义一个只含有一个元素的元组,一定要带上逗号:

num=(1,)

2、遍历元组

遍历元组的语法与遍历列表的语法相同,用for循环。

3、修改元组变量

虽然不能修改元组的元素,但可以给表示元组的变量赋值,这需要重新定义整个元组:

num=(1,4,9,16,25,36,49,64,81,100)
print(num)
num=(1100,)
print(num)

相比于列表,元组是更简单的数据结构。如果需要存储一组在程序的整个生命周期内都不变的值,就可以使用元组。

六、小结

在本节中,我们首先学习了如何高效地处理列表中的元素,如何使用for循环遍历列表,python如何根据缩进来确定程序的结构,以及如何避免一些常见的缩进错误。然后学习了如何创建简单的数值列表,以及可对数值列表执行的一些操作。接着学习了如何通过切片来使用列表的一部分以及复制列表。最后,你还学习了元组(它对不应变化的值提供了一定程度的保护)。

ps:这是我的第三篇博客,有很多做的不足的地方,希望大家多多指正。希望大家多多评论!

你可能感兴趣的:(python,python,开发语言)