Python-操作列表
操作列表
在之前的文章里,我们介绍了如何创建简单的列表,还学习了如何操作列表的元素。本文我们将学习如何遍历整个列表呀。冲冲冲!
遍历整个列表
下面我们就会使用for循环来打印名单中的所有名字:
people = ['A','B','C'] for person in people: print(person)
这样就可以实现打印名单中所有人的名字的这一功能。
在for循环中执行更多的操作
我们可以在for循环中输出更多的东西,而不仅仅是打印一个名字
people = ['A','B','C'] for person in people: print(person.title()+"so shuai!!")
在for循环结束后执行一些操作
在for循环结束之后呢,通常需要提供总结性的输出,或者是接着执行程序其他的必须任务。
在for循环之后,没有缩进的代码都只执行一次,而不会重复执行。
避免缩进错误
Python这个语言,和你之前写的c呀,java呀很不一样,他不用括号,它根据缩进来判断代码行与前一个代码行的关系。
下面介绍一些较为常见的缩进错误:
忘记缩进
这不用过多说了吧,for循环后紧跟的语句没有缩进,这时候python就会告诉你,这里有错误。
忘记缩进额外的代码行
这种代码是合法的,但结果可能使意想不到的。
不必要的缩进
你不小心缩进了一些没有缩进必要的代码 ,python也会提醒你的。
循环后不必要的缩进
这种错误呢,大部分时刻是合法的,但是是逻辑错误的,因为这些缩进的代码也就得进入循环,反复执行了。
遗漏了冒号
for语句的末尾的冒号是为了告诉python ,下一行是循环的第一行。细心一点,这个错误可能较难发现
创建数值列表
列表非常适合用于存储数字集合,而python提供了很多工具,可以帮助我们高效的处理数字列表。
使用函数range()
函数range()让你能够轻松地生成一系列的数字。例如
for value in range(1,5): print (value)
上面这个代码会顺序打印,1到4这几个数字,也就是说range这个函数是左闭右开的
使用range()函数创建数字列表
**我们使用函数list()**可以将range的结构直接转换为列表
numbers = list (range(1,6)) print(numbers)
使用range函数我们还可以指定步长。
你比如说,我们要打印1~10 的偶数
numbers = list(range(2,11,2))
你再比如说,我们要创建一个列表,包含前十个整数的平方。*在python中*代表乘方运算
squares= [] for value in range(1,11): square = value**2 squares.append(square) print(squares)
对数字列表执行简单的统计计算
有几个专门用于处理数字列表的python函数。
numbers = [1,2,3,4,5,6,7,8,9,0] min(numbers) max(numbers) sum(numbers)
列表解析
在前面我们写的那个生成平方数列表的代码,用了三四行,其实还可以更加的简单的,
squares = [value**2 for value in range(1,11)] print(squares)
注意注意,这里的for循环可以没有冒号的哦
当你觉得编写三四行代码来生成列表有点繁复的时候,那么你就是时候去考虑创建列表解析了。
使用列表的一部分
下面我们将介绍如何处理列表的部分元素,也就是叫切片。
切片
要创建切片,可以指定要使用的第一个元素的索引和最后一个元素的索引加一。与range()函数一样,索引所以要加一才是你想要的范围,比如说要前三个元素,那就需要指定索引0~3,这样就可以输出0,1,2这三个索引的元素了呀。
numbers = [1,2,3,4,5,6,7,8,9] ptint(numbers[0:3])
上面这个代码就是包含了前三个元素的切片。
numbers = [1,2,3,4,5,6,7,8,9] ptint(numbers[:3])
如果不指定第一个索引,那么默认就是从列表开头开始。
numbers = [1,2,3,4,5,6,7,8,9] ptint(numbers[2:])
上面这个代码就是从第三个元素开始一直到末尾的所有元素。
根据之前的索引的知识,我们要是想输出最后三个元素信息,我们就可以这样:
numbers = [1,2,3,4,5,6,7,8,9] ptint(numbers[-3:])
遍历切片
话不多说上代码:
for number in numbers[:3]: print(number)
这就是遍历切片了
复制列表
复制列表,就可以选择创建一个包含整个列表的切片,方法是同时省略其实索引和终止索引([:])
new_number = number[:]
但是
如果你用下面这样的方式去创建
new_nunber = number
这样就不能得到两个列表,这样操作,两个变量是指向同一个列表的,就达不到我们想要的复制效果。
元组
列表十分适合用于存储在运行程序期间可能变化的数据集,列表是可以修改的。然而有时候吧,你又需要创建一系列不可修改的元素,元组可以满足这种需求。python将不能修改的值称为不可变的,而不可变的列表被称为元组。
定义元组
元组看起来犹如列表,但是使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
num = (200,50)
你通过num[0] = 349,这种方式去修改元组是没办法修改的。
遍历元组中的所有值
就像列表那样去遍历:
nums = (200,50) for num in nums: print(num)
修改元组变量
虽然你不能修改元组的元素,但是你可以个元组重新赋一遍值,就像下面这样:
nums = (200,69) nums = (259,78)
这样就可以实现元组的重新赋值。
在之前的文章里,我们介绍了如何创建简单的列表,还学习了如何操作列表的元素。本文我们将学习如何遍历整个列表呀。冲冲冲!
遍历整个列表
下面我们就会使用for循环来打印名单中的所有名字:
people = ['A','B','C']for person in people: print(person)
这样就可以实现打印名单中所有人的名字的这一功能。
在for循环中执行更多的操作
我们可以在for循环中输出更多的东西,而不仅仅是打印一个名字
people = ['A','B','C']for person in people: print(person.title()+"so shuai!!")
在for循环结束后执行一些操作
在for循环结束之后呢,通常需要提供总结性的输出,或者是接着执行程序其他的必须任务。
在for循环之后,没有缩进的代码都只执行一次,而不会重复执行。
避免缩进错误
Python这个语言,和你之前写的c呀,java呀很不一样,他不用括号,它根据缩进来判断代码行与前一个代码行的关系。
下面介绍一些较为常见的缩进错误:
忘记缩进
这不用过多说了吧,for循环后紧跟的语句没有缩进,这时候python就会告诉你,这里有错误。
忘记缩进额外的代码行
这种代码是合法的,但结果可能使意想不到的。
不必要的缩进
你不小心缩进了一些没有缩进必要的代码 ,python也会提醒你的。
循环后不必要的缩进
这种错误呢,大部分时刻是合法的,但是是逻辑错误的,因为这些缩进的代码也就得进入循环,反复执行了。
遗漏了冒号
for语句的末尾的冒号是为了告诉python ,下一行是循环的第一行。细心一点,这个错误可能较难发现
创建数值列表
列表非常适合用于存储数字集合,而python提供了很多工具,可以帮助我们高效的处理数字列表。
使用函数range()
函数range()让你能够轻松地生成一系列的数字。例如
for value in range(1,5): print (value)
上面这个代码会顺序打印,1到4这几个数字,也就是说range这个函数是左闭右开的
使用range()函数创建数字列表
我们使用函数list()可以将range的结构直接转换为列表
numbers = list (range(1,6))print(numbers)
使用range函数我们还可以指定步长。
你比如说,我们要打印1~10 的偶数
numbers = list(range(2,11,2))
你再比如说,我们要创建一个列表,包含前十个整数的平方。在python中**代表乘方运算
squares= []for value in range(1,11): square = value**2 squares.append(square) print(squares)
对数字列表执行简单的统计计算
有几个专门用于处理数字列表的python函数。
numbers = [1,2,3,4,5,6,7,8,9,0]min(numbers)max(numbers)sum(numbers)
列表解析
在前面我们写的那个生成平方数列表的代码,用了三四行,其实还可以更加的简单的,
squares = [value**2 for value in range(1,11)]print(squares)
注意注意,这里的for循环可以没有冒号的哦
当你觉得编写三四行代码来生成列表有点繁复的时候,那么你就是时候去考虑创建列表解析了。
使用列表的一部分
下面我们将介绍如何处理列表的部分元素,也就是叫切片。
切片
要创建切片,可以指定要使用的第一个元素的索引和最后一个元素的索引加一。与range()函数一样,索引所以要加一才是你想要的范围,比如说要前三个元素,那就需要指定索引0~3,这样就可以输出0,1,2这三个索引的元素了呀。
numbers = [1,2,3,4,5,6,7,8,9]ptint(numbers[0:3])
上面这个代码就是包含了前三个元素的切片。
numbers = [1,2,3,4,5,6,7,8,9]ptint(numbers[:3])
如果不指定第一个索引,那么默认就是从列表开头开始。
numbers = [1,2,3,4,5,6,7,8,9]ptint(numbers[2:])
上面这个代码就是从第三个元素开始一直到末尾的所有元素。
根据之前的索引的知识,我们要是想输出最后三个元素信息,我们就可以这样:
numbers = [1,2,3,4,5,6,7,8,9]ptint(numbers[-3:])
遍历切片
话不多说上代码:
for number in numbers[:3]: print(number)
这就是遍历切片了
复制列表
复制列表,就可以选择创建一个包含整个列表的切片,方法是同时省略其实索引和终止索引([:])
new_number = number[:]
但是
如果你用下面这样的方式去创建
new_nunber = number
这样就不能得到两个列表,这样操作,两个变量是指向同一个列表的,就达不到我们想要的复制效果。
元组
列表十分适合用于存储在运行程序期间可能变化的数据集,列表是可以修改的。然而有时候吧,你又需要创建一系列不可修改的元素,元组可以满足这种需求。python将不能修改的值称为不可变的,而不可变的列表被称为元组。
定义元组
元组看起来犹如列表,但是使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。
num = (200,50)
你通过num[0] = 349,这种方式去修改元组是没办法修改的。
遍历元组中的所有值
就像列表那样去遍历:
nums = (200,50)for num in nums: print(num)
修改元组变量
虽然你不能修改元组的元素,但是你可以个元组重新赋一遍值,就像下面这样:
nums = (200,69)nums = (259,78)
这样就可以实现元组的重新赋值。