学习python的day5之列表和元组

一、列表

1介绍

1.1)列表一次性可以存多个数据

1.2)列表存的数据可以是不同的数据类型

1.3)对列表的操作:增、删、改、查。

2.数据操作

2.1)查找

2.1.1按下标查找

list1 = ['tom', 'lili', 'siri']
print(list1[0])
print(list1[1])
print(list1[2])

'''
输出:
tom
lili
siri
'''

2.1.2函数查找

index():返回指定数据位置下标

语法:列表序列.index(数据,开始位置下标,结束位置下标)   注:如果没有开始位置下标和结束位置下标则默认在整个列表中查找,如果查找的数据不在列表中则程序报错

list1 = ['tom', 'lili', 'siri']
print(list1.index('lili', 0, 2))

'''
输出:
1
'''

count():统计指定数据在当前列表中出现的次数

语法:列表序列.count(数据) 

list2 = [1,2,2,2,3,3,4,5]
print(list2.count(2))
print(list2.count(3))
print(list2.count(5))
print(list2.count(31))

'''
输出:
3
2
1
0
'''

len():访问列表长度,即统计列表中数据的个数

list2 = [1,2,2,2,3,3,4,5]
print(len(list2))

'''
输出:
8
'''

2.2判断是否存在

in:判断指定数据在某个列表中,在返回true,不在返回false

list1 = ['tom', 'lili', 'siri']
print('tom' in list1)
print('ton' in list1)

'''
输出结果:
True
False
'''

not in:判断指定数据不在某个列表中,不在返回true,在返回false

list1 = ['tom', 'lili', 'siri']
print('to' not in list1)
print('lili' not in list1)

'''
输出结果:
True
False
'''

2.3增加

作用:增加指定数据到列表中

append():列表结尾增加数据

语法:列表序列.append(数据)

list1 = ['tom', 'lili', 'siri']
list1.append('liqiang')
print(list1)
'''
输出:
['tom', 'lili', 'siri', 'liqiang']
'''

如果增加的数据是一个序列,则将整个序列追加到列表

list1 = ['tom', 'lili', 'siri']
list2 = ['zhangsan' , 1 , 2]
list1.append(list2)
print(list1)
'''
输出:
['tom', 'lili', 'siri', ['zhangsan', 1, 2]]
'''

extend():在列表结尾增加数据

注意:增加单个数据时,extend()的效果与append()相同,如果增加的数据是一个序列,则将这个序列中的数据逐一添加到列表

list1 = ['tom', 'lili', 'siri']
list2 = ['zhangsan' , 1 , 2]
list1.extend(list2)
print(list1)
'''
输出:
['tom', 'lili', 'siri', 'zhangsan', 1, 2]
'''

insert():指定位置增加数据

语法:列表序列名.insert(位置下标,数据)

list1 = ['tom', 'lili', 'siri']
list1.insert(1,'hong')
print(list1)
'''
输出:
['tom', 'hong', 'lili', 'siri']
'''

2.4删除

del

语法:

2.4.1 del 目标  或  del (目标)

list1 = ['tom', 'lili', 'siri']
del list1
print(list1)
'''
输出:
Traceback (most recent call last):
  File "C:/Users/as_sc/PycharmProjects/untitled/hm-python-day5/04-删除数据.py", line 4, in <module>
    print(list1)
NameError: name 'list1' is not defined
'''

2.4.1 del 列表序列名[下标]

list1 = ['tom', 'lili', 'siri']
del list1[1]
print(list1)
'''
输出:
['tom', 'siri']
'''

pop():删除指定下标位置数据(默认为最后一个数据),并返回该数据的值

语法:列表序列名.pop(下标)

list1 = ['tom', 'lili', 'siri']
result = list1.pop()
print(result)
print(list1)
'''
输出:
siri
['tom', 'lili']
'''

list1 = ['tom', 'lili', 'siri']
result = list1.pop(1)
print(result)
print(list1)
'''
输出:
lili
['tom', 'siri']
'''

remove():删除列表中某个数据的第一个匹配项

语法: 列表序列名.remove(数据)

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
list1.remove('tom')
print(list1)

'''
输出:
['siri', 'tom', 'lili', 'tom', 'siri']
'''

clear(): 清空列表

语法 : 列表序列名.clear()

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
list1.clear()
print(list1)
'''
输出:
[]
'''

2.5修改

2.5.1按照指定下标修改

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
list1[0] = 'ss'
print(list1)
'''
输出:
['ss', 'siri', 'tom', 'lili', 'tom', 'siri']
'''

2.5.2逆置

reverse():将列表的数据位置逆置

语法:列表序列名.reverse()

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
list1.reverse()
print(list1)
'''
输出:
['siri', 'tom', 'lili', 'tom', 'siri', 'tom']
'''

2.5.3 排序

sort():将列表按升序或降序排序

语法: 列表序列名.sort(key = None, reverse =Flase) 

注意:key是在字典排序时使用的,reverse表示排序规则,reverse = True为降序,reverse=False为升序(也是默认排序规则)

list1 = [2,4,6,4,7,2,15,5,8]
list1.sort()
print(list1)
list1.sort(reverse=False)
print(list1)
list1.sort(reverse=True)
print(list1)
'''
输出:
[2, 2, 4, 4, 5, 6, 7, 8, 15]
[2, 2, 4, 4, 5, 6, 7, 8, 15]
[15, 8, 7, 6, 5, 4, 4, 2, 2]
'''

2.5.4复制列表

copy()

语法: 列表序列名.copy()

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
list2 = list1.copy()
print(list2)
'''
输出:
['tom', 'siri', 'tom', 'lili', 'tom', 'siri']
'''

3.列表遍历

while

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
i = 0
while i<len(list1):
    print(list1[i])
    i += 1
    
'''
输出:
tom
siri
tom
lili
tom
siri
'''

for

list1 = ['tom', 'siri','tom', 'lili', 'tom', 'siri']
for i in list1:
    print(i)
'''
输出:
tom
siri
tom
lili
tom
siri
'''

4.列表嵌套

所谓列表嵌套就是一个列表里面包含了其他的子列表

list1 = [['zhang', 'li', 'mo'], [1, 2, 4], ['ss','dd']]
print(list1[2][0])
print(list1[1][2])
print(list1[0][1])
'''
输出:
ss
4
li

'''

二.元组

元组可以存多个数据,但元组的数据不能修改

1.定义元组

多个数据元组

tuple1 = (1,2,3)

单个数据元组

tuple = (1,)

注意:如果定义的元组只有一个数据,这个数据后面要加逗号,否则定义的数据类型不是元组,而是这个唯一的数据的数据类型

tuple1 = (1, 2, 3)
tuple2 = (1,)
tuple3 = (1)
print(type(tuple1))
print(type(tuple2))
print(type(tuple3))
'''
输出:
<class 'tuple'>
<class 'tuple'>
<class 'int'>
'''

2.元组的操作

元组不支持修改,只支持查找,具体如下:

按下标查找

tuple1 = (1, 2, 3)
print(tuple1[0])
print(tuple1[1])
print(tuple1[2])
'''
输出:
1
2
3
'''

index():语法与字符串、列表相同

tuple1 = (1, 2, 3)
print(tuple1.index(3))
'''
输出:
2
'''

count():统计某个数据在元组中出现的次数

len():统计元组的长度(元组中数据的个数)

tuple1 = (1, 1, 1, 2, 2, 3)
print(tuple1.count(1))
print(len(tuple1))
'''
输出:
3
6
'''

元组中的数据直接修改会报错,但如果元组中列表,修改列表中的数据,这个操作是支持的

tuple1 = ('ww', 1, 'ds', ['qw', 1, 2, 'tf'], 3)
tuple1[3].append('as_scheduled')
print(tuple1)
'''
输出:
('ww', 1, 'ds', ['qw', 1, 2, 'tf', 'as_scheduled'], 3)
'''

 

posted @ 2020-10-17 19:36  as_scheduled  阅读(153)  评论(0编辑  收藏  举报