python基础教程:列表list && 元组tuple

介绍:

列表是一种可变的有序集合,可以进行访问、添加和删除操作。

元组是一种不可变的有序集合,可以访问。

1、列表的基本操作

创建列表

 ls = ['mary', 'tom', 'kate']
 ['mary', 'tom', 'kate']

注意:列表中的元素可以为不同类型,且可以为列表

 In [29]: ls2=[1,2,'d','fairy',[1,4]]
 In [30]: ls2
 Out[30]: [1, 2, 'd', 'fairy', [1, 4]]

列表元素的访问和截取

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [7]: ls[1]
Out[7]: 'tom'

In [8]: ls[-1]
Out[8]: 'kate'

// 包含11开始的元素:ls[1],ls[2]
In [11]: ls[1:]
Out[11]: ['tom', 'kate']

// 不包含22为止的元素:ls[0],ls[1]
In [13]: ls[:2]
Out[13]: ['mary', 'tom']

// ls中的所有元素
In [9]: ls[:]
Out[9]: ['mary', 'tom', 'kate']

更新和添加列表元素

 // 更新列表元素
 In [92]: ls[1]='jerry'
 In [93]: ls
 Out[93]: ['mary', 'jerry', 'kate']
// 在列表尾部添加元素 'me'
In [16]: ls.append('me')
In [17]: ls
Out[17]: ['mary', 'tom', 'kate', 'me']

// 在列表索引为2处添加元素 'jack'
In [18]: ls.insert(2,'jack')
In [19]: ls
Out[19]: ['mary', 'tom', 'jack', 'kate', 'me']

注意:不存在的元素不可以用索引来引用或添加

// 注意:不存在的元素不可以用索引来引用或者添加
In [14]: ls[3]
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-14-bc53f97bfb95> in <module>()
----> 1 ls[3]
IndexError: list index out of range

In [15]: ls[3]='me'
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-15-41a017d867bd> in <module>()
----> 1 ls[3]='me'
IndexError: list assignment index out of range

删除列表元素

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
// 删除列表的最后一个元素,且返回此元素
In [20]: ls.pop()
Out[20]: 'me'
In [21]: ls
Out[21]: ['mary', 'tom', 'jack', 'kate']

// 删除列表索引为2处的元素且返回此元素
In [22]: ls.pop(2)
Out[22]: 'jack'
In [23]: ls
Out[23]: ['mary', 'tom', 'kate']

// 移除列表中匹配为'tom'的元素,不返回任何值
In [25]: ls.remove('tom')
In [26]: ls
Out[26]: ['mary', 'kate']

// 清空列表
lIn [27]: ls.clear()
In [28]: ls
Out[28]: []
// 删除索引为0的列表元素
In [88]: ls
Out[88]: [1, 2]
In [89]: del ls[0]
In [90]: ls
Out[90]: [2]

删除列表

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [96]: lss=[1,2,3]
In [97]: del lss
In [98]: lss
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-98-3ee6987b75c4> in <module>()
----> 1 lss

NameError: name 'lss' is not defined

2、列表操作符

// 列表长度
In [33]: len([1,2,3])
Out[33]: 3

// 列表加
In [34]: [1,2,3]+[4,5,6]
Out[34]: [1, 2, 3, 4, 5, 6]

// 列表乘
In [35]: ['Echo']*3
Out[35]: ['Echo', 'Echo', 'Echo']

// 判断是否在列表中
In [36]: 1 in [1,2,3]
Out[36]: True

In [37]: 1 in [4,2,3]
Out[37]: False

3、列表的函数和方法

函数

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
// 返回列表长
In [38]: len([1,2,3])
Out[38]: 3

// 返回列表中最大元素
In [39]: max([1,2,3])
Out[39]: 3

// 返回列表中最小元素
In [40]: min([1,2,3])
Out[40]: 1

// 将元组转化为列表
In [41]: list((1,2,3))
Out[41]: [1, 2, 3]

方法

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
// 统计列表中'a'出现的次数,并返回次数
In [70]: ['a','b','f',1,'a',3].count('a')
Out[70]: 2

// 统计列表中'a'第一次出现的索引,并返回索引号
In [73]: ['a','b','f',1,'a',3].index('a')
Out[73]: 0

// 在列表后追加l另一列表中多个元素,不返回
In [42]: ls=['a','b','f',1,'a',3]
In [45]: ls.extend([1,7,8])
In [46]: ls
Out[46]: ['a', 'b', 'f', 1, 'a', 3, 1, 7, 8]

// 列表的元素反转,不返回
In [49]: ls.reverse()
In [50]: ls
Out[50]: [8, 7, 1, 3, 'a', 1, 'f', 'b', 'a']

// 列表的排序(可以在sort([func])里指定排序用的方法),不返回
In [53]: ls=[1,4,2,7,3]
In [54]: ls.sort()
In [55]: ls
Out[55]: [1, 2, 3, 4, 7]

注意:以上不返回的函数和方法就是对列表本身做修改,不会生成新的列表,这里一定要注意!

在python3.6中,赋值和copy方法是一样的:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
In [80]: ls=[1,2,3]
// 赋值
In [81]: ls_=ls
// copy方法
In [82]: ls_c=ls.copy()

In [83]: ls_
Out[83]: [1, 2, 3]
In [84]: ls_c
Out[84]: [1, 2, 3]

// 改变ls本身的值
In [85]: ls=[1,2]

// 两者皆不改变
In [86]: ls_
Out[86]: [1, 2, 3]
In [87]: ls_c
Out[87]: [1, 2, 3]

4、元组

元组的操作和列表基本一致,需要注意的几个地方是:

元组的创建是 ” () “,列表的创建是 " [] ", 列表只有一个元素时创建没有问题,但是如果元素只有一个元素,需要在元素后加”,“,否则会被认为只是一个元素本身,元组的创建可以不加” () “;

// 加括号创建
In [101]: tp=(1,2,3)
In [102]: tp
Out[102]: (1, 2, 3)

// 不加括号创建
In [103]: tp=1,2,3
In [104]: tp
Out[104]: (1, 2, 3)

// 只有一个元素且不加逗号,不会被识别为元组
In [105]: tp=(1)
In [106]: type(tp)
Out[106]: int

// 只有一个元素但是加逗号,会被识别成元组
In [107]: tp=(1,)
In [108]: type(tp)
Out[108]: tuple

除上述不同之外,元组和列表的访问、截取、操作符和函数都是一样的,元组没有更新、添加和删除元素的操作,但是可以删除元组本身,和list的删除一样;

In [109]: del tp
In [110]: tp
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-110-6fc78332fdd4> in <module>()
----> 1 tp

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/107814927
今日推荐