Python列表与元组学习笔记

Python列表与元组学习笔记

列表与元组都是一种序列。而列表与元组的不同点在于列表可修改而元组不可以。

索引

和C++的数组类似,Python里列表的索引从0开始。

 #第一个例子
>>>G='stars'
>>> G[1]
 't'
 #第二个例子
>>>'hello'[0]
'h'

切片

获取列表中指定范围的元素

>>>Num=[1,2,3,4,5,6,7,8,9]
>>>Num[1:3]
 [2,3]
 #切片的值还可为负数
 >>>Num=[1,2,3,4,5,6,7,8,9]
 >>>Num[-3:-1]  #负数表示倒数
 [7,8]
 #还可以省略
 >>>Num=[1,2,3,4,5,6,7,8,9]
 >>>Num[-3:]  #省略后项
 [7,8,9]
 >>>Num=[1,2,3,4,5,6,7,8,9]
 >>>Num[:3]  #省略前项
 [1,2,3]
 >>>Num=[1,2,3,4,5,6,7,8,9]
 >>>Num[:]  #均省略
[1,2,3,4,5,6,7,8,9]
 #实际上还可以超出索引
 >>>Num=[1,2,3,4,5,6,7,8,9]
 >>>Num[7:9]
 [8,9] 

注意:如果在使用切片时,第一个索引指定的元素位于了第二个指定元素的后方,则会返回一个空序列,即:[]

切片的步长

切片的步长默认为1,但我们也可以进行自定义设置

方法如下

 >>>Num=[1,2,3,4,5,6,7,8,9]
 >>>Num[0,6,2]  #设置步长为2
 [1,3,5]

想象一下步长设置为负数时会发生什么

成员资格

即检查特定的值是否包含在序列中
使用运算符in

示例如下

>>>chec=['hero','man','woman']
>>>'man' in chec
True

序列:长度,最值

三个函数:len,max,min

示例如下:

>>>num=[123,34,57,89]
>>>len(num)
4
>>>max(num)
123
>>>min(num)
34

列表

列表亦有加减乘

#加法
lst=['Hello','World']+['Python']
>>>['Hello','World','Python']
#乘法
lst=3*['python']
>>>['python','python','python']

函数list

创建列表的函数,示例如下:

>>>list('hello')
['h','e','l','l','o']

注:可将任何序列作为list的参数而不只局限于字符串。

列表的操作

列表的赋值

>>>num=[1,2,3]
>>>num[1]=6
>>>num
[1,6,3]

如何删除元素

使用del语句

>>>num=[1,2,3]
>>>del num[1]
>>>num
[1,3]

切片赋值

包含多种情况,如下所示

#情况1
>>>lang=['C','C#','Java','Html','PHP']
>>>lang[3:]=['Python','R']
>>>lang
['C', 'C#', 'Java','Python', 'R']
#情况2(长度改变)
>>>lang=['C','C#','Java','Html','PHP']
>>>lang[2:]=['Python','R','C++']
>>>lang
['C', 'C#', 'Python', 'R', 'C++']
#情况3(从中间插入)
>>> lang=['C','C#','Java','Html','PHP']       
>>> lang[2:2]=['Python','R']          
>>> lang          
['C', 'C#', 'Python', 'R', 'Java', 'Html', 'PHP']
#情况4(替换为空)
>>> lang=['C','C#','Java','Html','PHP']       
>>> lang[1:]=[]       
>>> lang          
['C']

列表的方法

append方法

用于将一个对象附加到列表末尾。

>>> lst = [1, 2, 3] 
>>> lst.append(4)
>>> lst
 [1, 2, 3, 4] 
clear方法

清空列表的内容

>>>lst=[1,2,3]
>>>lst.clear()
>>>lst
[]
copy方法

复制列表.值得一提的是,常规复制只是将另一个名称关联到列表.如下所示:

#常规复制
>>>a=[1,2,3]
>>>b=a
>>>b[1]=9
>>>a
[1,9,3]
#copy方法
>>>a[1,2,3]
>>>b=a.copy()
>>>b[1]=9
>>>a
[1,2,3]
count方法

计算指定的元素在列表中出现了多少次

>>>name=['ag','eg','lg','ex','ag','lg','ag',[1,2]]
>>>name.count('ag')
3
>>>name.count([1,2])
1
extend方法

能够同时将多个值附加到列表末

>>>a=[1,2,3]
>>>b=[4,5,6]
>>>a.extend(b)
>>>a
[1,2,3,4,5,6]
index方法

在列表中查找指定值第一次出现的索引

>>>name=['a','b','c','a']
>>>name.index(a)
0
insert方法

将一个对象插入列表

>>>num=[1,2,3,4]
>>>num.insert(2,'a')
>>>num
[1,2,'a',3,4]
pop方法

从列表中删除一个元素(末尾为后一个元素),并返回这一元素。

>>>num=[1,2,3]
>>>num.pop()
3
>>>num
[1,2]
remove方法

用于删除第一个为指定值的元素。

>>>num=[1,2,3,1]
>>>num.remove(1)
>>>num
[2,3,1]
reverse方法

按相反的顺序排列列表中的元素

>>>num=[1,2,3]
>>>num.reverse()
>>>num
[3,2,1]
sort方法

对列表就地排序。就地排序意味着对原来的列表进行修改

>>> x = [4, 6, 2, 1, 7, 9] 
>>> x.sort() 
>>> x 
[1, 2, 4, 6, 7, 9] 
#以下为错误示范
>>> x = [4, 6, 2, 1, 7, 9] 
>>> y=x.sort() 
>>> y
None
#改正为
>>> x = [4, 6, 2, 1, 7, 9] 
>>>y=sorted(x)
>>> x 
[4,6,2,1,7,9]
>>>y
[1,2,4,6,7,9]
sort高级排序

方法sort接受两个可选参数:key和reverse。这两个参数通常是按名称指定的,称为关键字 参数,将在第6章详细讨论。参数key类似于参数cmp:你将其设置为一个用于排序的函数。然而, 不会直接使用这个函数来判断一个元素是否比另一个元素小,而是使用它来为每个元素创建一个 键,再根据这些键对元素进行排序。因此,要根据长度对元素进行排序,可将参数key设置为函数len。

>>>x = ['aardvark', 'abalone', 'acme', 'add', 'aerate']
>>>x.sort(key=len) 
>>>x
['add', 'acme', 'aerate', 'abalone', 'aardvark'] 

对于另一个关键字参数reverse,只需将其指定为一个真值(True或False,将在第5章详细介 绍),以指出是否要按相反的顺序对列表进行排序。

 x = [4, 6, 2, 1, 7, 9]
 x.sort(reverse=True) 
 x 
 [9, 7, 6, 4, 2, 1] 

函数sorted也接受参数key和reverse。在很多情况下,将参数key设置为一个自定义函数很有用。

元组

创建方式

>>>1,2,3
(1,2,3)   #此即为元组
>>>()
()
>>>100,   #逗号不可省略
(100)

元组的用法

元组的用法与列表大致相同

猜你喜欢

转载自blog.csdn.net/weixin_42132384/article/details/81566722
今日推荐