您的位置:首页 > 编程语言 > Python开发

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

2018-01-19 21:46 417 查看
一列表简介
1访问列表元素

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

添加列表元素

删除列表元素

3组织列表
使用方法sort对列表进行永久性排序

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

反转列表元素的排列顺序

确定列表的长度

二操作列表
1遍历列表

2创建数值列表
使用range函数

使用range创建数字列表

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

列表解析

3使用列表的一部分切片
遍历切片

复制列表

三元组
1定义元组

2修改元组变量

一、列表简介

列表是由一系列按特定顺序排列的元素组成。在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()函数内
cb09
的参数“左闭右开”。

使用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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: