列表:
列表是一个有序的,可修改的,元素以逗号分割,以中括号包围的序列。
因为列表可以修改,所以我们可以通过列表的索引来修改列表。
格式:变量名= [元素1,元素2,元素3,...]
作用:存储多个数据
1.查看列表的类型
1 |
|
>>> name = ["Eric","Mary","Tom"] |
2.通过索引获取列表中的元素:
lst = [1, 2.34, 'hello', False]
num = lst[1]
print(num)
输出结果: 2.34
3.使用for循环 遍历列表每一个元素
lst = [1, 2.34, 'hello', False]
for i in lst:
print(i)
输出结果: 1
2.34
hello
False
4.列表的增删查改:
列表的添加 |
append |
追加,在列表的尾部加入指定的元素 |
|
extend |
将指定序列的元素依次追加到列表的尾部(合并),不会去重复内容 |
|
insert |
将指定的元素插入到对应的索引位上,注意负索引倒序插入,超过索引就会在末尾插入 |
列表的删除 |
pop |
弹出,返回并删除指定索引位上的数据,默认删除索引为-1的数据(从右向左删除) |
|
remove |
从左往右删除一个指定的元素 |
|
del |
删除整个列表或列表的数据,del是python内置功能,不是列表独有的 |
列表的查找 注:列表没有find方法 |
count |
计数,返回要计数的元素在列表当中的个数 |
|
index |
查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错 |
列表的排序 |
reverse |
顺序倒序 |
|
sort |
按照ascii码表顺序进行排序 |
append:
lst = ['悟空', '八戒', '唐僧']
lst.append(1,'白龙马')
print(lst)
输出结果: ['悟空', '八戒', '唐僧','白龙马']
insert:
lst = ['悟空', '八戒', '唐僧']
lst.insert(1,'白骨精')
print(lst)
输出结果: ['悟空','白骨精', '八戒', '唐僧']
extend:
lst = ['悟空', '八戒', '唐僧']
lst1 = ['宋江', '李逵', '悟空']
lst.expend(lst1)
print(lst)
输出结果:
['悟空', '八戒', '唐僧','宋江', '李逵', '悟空']
列表之间也可以相加,将所有元素放入到一个新的列表中,并且不会自动去重
lst2 = lst + lst1
print(lst2)
输出结果: ['悟空', '八戒', '唐僧','宋江', '李逵', '悟空']
5.删除:
pop()
lst = ['悟空', '八戒', '唐僧']
lst.pop(0)
print(lst)
输出结果: ['八戒', '唐僧']
remove()
lst = ['悟空', '八戒', '唐僧']
lst.remove('八戒')
print(lst)
输出结果:['悟空', '唐僧']
clear()
lst = ['悟空', '八戒', '唐僧']
lst.clear()
print(lst)
输出结果: [ ]
del :
lst = ['悟空', '八戒', '唐僧']
del lst #del 删除整个列表或列表的数据,del是python内置功能,不是列表独有的
# # 列表的查找
print(lst)
输出结果:
6.修改操作:
lst = ['悟空', '八戒', '唐僧']
lst[0] = '白龙马'
print(lst)
输出结果: ['白龙马', '八戒', '唐僧']
7.查询操作:
count() index()
lst = ['悟空', '八戒', '唐僧', '悟空']
ret = lst[0]
print(ret)
num = lst.count('八戒')
print(num)
num1 = lst.index('悟空')
print(num1)
length = len(lst)
print(length)
ret = lst.index('悟空', 1, 4)
print(ret)
输出结果: ['悟空']]
1
0
4
3
8.列表的切片:
lst = ['a', 'b', 'c', 'd', 'e']
print(lst[0:4:2])
输出结果: ['a', 'c']
9.列表的排序:
sort():
lst = ['tom', 'james', 'jerry', 'zs', 'ls']
lst.sort() #由小到大排序
print(lst)
lst.sort(reverse=True)#由大到小排序
print(lst)
输出结果: ['james', 'jerry', 'ls', 'tom', 'zs']
['zs', 'tom', 'ls', 'jerry', 'james']
10.翻转:
reverse()
lst = ['tom', 'james', 'jerry', 'zs', 'ls']
lst.reverse()
print(lst)
输出结果: ['ls', 'zs', 'jerry', 'james', 'tom']
元组:
元组特点:元组是有序的,不能修改。
元组的定义:
.通过()来定义:变量名=(1,2,3,4,) 。以逗号分割的,以小括号包围的序列。
. 通过tuple函数定义: lst=[1,2,3,4] 变量名=tuple(lst)
元组的优点:由于元组不可变,所以遍历元组比列表要快(较小的性能提升)。
1.元组的创建:
tup = (1,2.2,True,'hello')
print(tup)
print(type(tup))
输出结果: (1, 2.2, True, 'hello')
<class 'tuple'>
2.访问元组:
通过索引:
tup = (1,2.2,True,'hello')
ret = tup[4] # 注意索引越界的问题
print(ret)
输出结果:
通过切片:
tup = (1,2.2,True,'hello')
tup1 = tup[0:4:1]
print(tup1)
输出结果: (1, 2.2, True, 'hello')
3.访问多维元祖:
tup = (('zs',10),('ls',11),('ww',12))
print(tup[1][0])
输出结果: ls
4. 使用多个变量来接受元组的值 注意:变量中的个数和元组中的值得个数必须一一对应
tup = (('zs',10),('ls',11),('ww',12))
name,age,height,weight = ('zs',18,1.64,150)
print(name)
print(age)
print(height)
print(weight)
for name, age in tup: #for 循环遍历多重元组
print(name,age)
输出结果: zs
18
1.64
150
zs 10
ls 11
ww 12
5.tuple()函数和list()函数
lst = [1,2,3]
print(tuple(lst))
tup = ('a','b','c')
print(list(tup))
输出结果: (1, 2, 3)
['a', 'b', 'c']
6.元组的方法:
tup = ('a','b','c','c','b','a','x')
print(tup.index('b'))
print(tup.index('a',2,len(tup)))
print(tup.count('a'))
输出结果: 1
5
2