列表
一、概述
列表可以一次性存储多个数据,且可以存储不同数据
[数据1,数据2,数据3,数据4……]
二、常用操作
1. 查找
1.1 下标
In [1]: list1=['Tom','Jack','Marry']
In [2]: print(list1[0])
Tom
In [3]: print(list1[1])
Jack
In [4]: print(list1[2])
Marry
1.2 函数
- index():返回数据所在位置下标
列表序列.index(数据,开始位置下标,结束位置下标)
-
count():统计指定数据在当前列表中出现的次数
-
len():访问列表长度,即列表中数据个数
In [6]: list1=['Tom','Jack','Marry','Jack']
# 返回元素所在位置下标
In [7]: list1.index('Tom')
Out[7]: 0
In [8]: list1.index('Jack')
Out[8]: 1
# 不存在的数据,index()函数会报错
In [9]: list1.index('Lily')
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-9-2e6792b836de> in <module>()
----> 1 list1.index('Lily')
ValueError: 'Lily' is not in list
# 统计列表中元素的个数
In [10]: list1.count('Jack')
Out[10]: 2
# 统计列表中元素的个数,不存在则返回0
In [11]: list1.count('Lily')
Out[11]: 0
# 统计列表的长度,即元素个数
In [12]: len(list1)
Out[12]: 4
1.3 判断是否存在
- in:判断指定数据在某个列表,在则返回True,否则返回False
- not in:判断指定数据不在列表中,如果不在则返回True,否则返回False
In [13]: list1=['Tom','Jack','Marry','Jack']
In [14]: 'Tom' in list1
Out[14]: True
In [15]: 'Lily' in list1
Out[15]: False
In [16]: 'Lily' not in list1
Out[16]: True
In [17]: 'Tom' not in list1
Out[17]: False
2. 添加
- append():列表结尾追加数据
列表序列.append(数据)
- extend():列表结尾追加数据,如果是一个序列,则将这个序列的数据逐一添加到列表
列表序列.extend(数据)
- insert():指定位置添加数据
列表序列.insert(位置下标,数据)
# append()函数的使用
In [18]: list1=['Tom','Jack','Marry']
In [19]: list1.append('Lily')
In [20]: print(list1)
['Tom', 'Jack', 'Marry', 'Lily']
# 当使用append添加的为一个列表时,此时会将整个列表进行添加
In [22]: list1.append(['Job','Rose'])
In [23]: print(list1)
['Tom', 'Jack', 'Marry', 'Lily', ['Job', 'Rose']]
# extend()函数的使用
In [24]: list1=['Tom','Jack','Marry']
In [25]: list1.extend('Lily')
# 此时extend()函数会将‘Lily’进行拆分,然后追加到列表结尾
In [26]: print(list1)
['Tom', 'Jack', 'Marry', 'L', 'i', 'l', 'y']
In [28]: list1.extend(['Lily','Rose'])
In [29]: print(list1)
['Tom', 'Jack', 'Marry', 'L', 'i', 'l', 'y', 'Lily', 'Rose']
# insert()函数的使用
In [30]: list1=['Tom','Jack','Marry']
In [31]: list1.insert(1,'Rose')
In [32]: print(list1)
['Tom', 'Rose', 'Jack', 'Marry']
3. 删除
- del函数
del 目标
del(目标)
del list1[下标]
- pop()函数:删除指定下标的数据,如果不指定下标,默认删除最后一个,并且会将删除的数据返回
# del函数的使用
In [33]: list1=['Tom','Jack','Marry']
# 删除列表list1
In [34]: del list1
# 此时list1已经被删除,再去打印时会报错:NameError: name 'list1' is not defined
In [35]: print(list1)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-35-7fd613c3c7e4> in <module>()
----> 1 print(list1)
NameError: name 'list1' is not defined
In [36]: list1=['Tom','Jack','Marry']
# 删除指定列表中的元素
In [37]: del list1[1]
In [38]: print(list1)
['Tom', 'Marry']
# pop()函数的使用
In [39]: list1=['Tom','Jack','Marry']
# 使用pop()函数删除,不指定下标则默认删除最后一个元素,并且会返回,此处Out即为返回的数据
In [40]: list1.pop()
Out[40]: 'Marry'
In [41]: list1=['Tom','Jack','Marry']
# 删除指定下标的数据
In [42]: list1.pop(1)
Out[42]: 'Jack'
-
remove()函数
-
clear()函数:清空列表
# remove()函数的使用
In [43]: list1=['Tom','Jack','Marry']
# 删除'Marry'
In [44]: list1.remove('Marry')
In [45]: print(list1)
['Tom', 'Jack']
# 使用clear()函数清空列表
In [46]: list1.clear()
In [47]: print(list1)
[]
4. 修改
-
修改指定下标的数据举例:list1[0]=新的值
-
reverse():逆置
-
sort():排序
-
reverse表示排序规则,reverse=True降序,reverse=False升序(默认)
列表序列.sort(key=None,reverse=False)
In [49]: list1=[5,3,6,2,0,4,2,1]
In [50]: list1[3]=7
In [51]: print(list1)
[5, 3, 6, 7, 0, 4, 2, 1]
# 使用reverse()函数对列表进行逆置
In [52]: list1.reverse()
In [53]: print(list1)
[1, 2, 4, 0, 7, 6, 3, 5]
# 排序,默认为升序
In [54]: list1.sort()
In [55]: print(list1)
[0, 1, 2, 3, 4, 5, 6, 7]
# 排序,将reverse改为True则为降序
In [56]: list1.sort(reverse=True)
In [57]: print(list1)
[7, 6, 5, 4, 3, 2, 1, 0]
5. 复制
- 函数:copy()
In [58]: list1=['Tom','Jack','Marry']
In [59]: new_list=list1.copy()
In [60]: print(new_list)
['Tom', 'Jack', 'Marry']
三、遍历
1. while循环
- 代码演示
In [61]: list1=['Tom','Jack','Marry','Rose']
In [62]: i=0
In [63]: while i<len(list1):
...: print(list1[i],end=" ")
...: i+=1
...:
Tom Jack Marry Rose
2. for循环
In [64]: list1=['Tom','Jack','Marry','Rose']
In [65]: for i in list1:
...: print(i,end=" ")
...:
Tom Jack Marry Rose
四、列表嵌套
list1=[['小明','小红','小王'],['Tom','Marry','Jack'],['张三','李四','王五']]
1. 查询
In [66]: list1=[['Tom','Jack','Marry'],['小明','小王','小张'],['张三','李四','王
...: 五']]
# 查找小明
In [67]: print(list1[1][0])
小明
五、其他
- 其他可关注个人博客!不将就