Day_05 列表
1.输出函数print()
默认每一个print函数,输出完内容后会输入一个换行
一个print函数输出多个内容的时候,内容之间是用空格隔开的。
print('aaa',100.end='**')默认为end='\n'设置输出以什么结束。
print('aaa',100,end='\n',sep=' ')通过设置sep的值,来设置多个内容之间的间隔符(默认是'空格)
print('a','b',end='*',sep='@')
[email protected]*[Finished in 0.4s]
input()函数可以接收从控制台输入的内容(以回车为结束标志)
input()函数会阻塞线程,程序执行input()时候会等待用户输入,输入完成后,继续执行。
input()函数接收到的数据是以字符串形式返回(python2.x中输入的是数字的时候,可能返回int型或浮点数类型)
猜数游戏:
import random
suiji = random.randint(1,100)
guess = input('enter ther number:')
if int(guess)<suiji:
print('too low')
elif int(guess)>suiji:
print('too big')
elif int(guess)==suiji:
print('good')
print('the random number:%d'%suiji)
enter ther number:23
too low
the random number:87
列表、字典、元组、集合都是序列,都是容器类型的数据类型。
列表(list):用来存储多个数据的一种数据类型,里面存储的单个数据叫元素。
特点:1.有序的 2.可变的(列表的内容个数与值可变) 3.元素可以是任何类型的数据
类型转换:整型和浮点数不能转换为列表,字符串可以 list1 = list(str)
list1 = list('abc')
print(list1)
['a', 'b', 'c']
[Finished in 0.4s]
列表的声明方式:
方式1:list1 = [1,2,3] list1 = []空列表
方式2:将其他的数据类型转换为列表,只有序列能转换 list1 = list(str)
方法3:通过生成式创建列表 list2 = list(i for i in range(10))
list2 = list(i*2 for i in range(10) if i%2==0)
list1 = [1,2,3]
list2 = []
list3 = str('abc')
list4 = list(i*2 for i in range(6))
print(list1,list2,list3,list4)
[1, 2, 3] [] abc [0, 2, 4, 6, 8, 10]
[Finished in 0.6s]
列表相关操作:列表中的每一个元素都对应一个下标:0-列表长度-1;-1- -列表长度
1.获取列表元素
list1 = [1,2,3,4,5]
print(list1[2])
print(list1[::-1])逆序获取
print(list1[0:5:2])步进获取 list1[开始:结束:步进],按步进对下标等差获取
print(list1[:])获取列表所有元素,重新创建一个新的列表
注意:开始、结束、步进都可以缺省(不能同时)。步进为正,开始缺省,则从左-右依次获取,为负,从右-左获取
names = ['路飞','佐罗','娜美','鸣人','佐助']
print(names[3],names[4],end='\n',sep=' vs ')
print(names[0:5:2])
print(names[-5::])
print(names[::-1])
print(names[::-2])
print(names[:])
鸣人 vs 佐助
['路飞', '娜美', '佐助']
['路飞', '佐罗', '娜美', '鸣人', '佐助']
['佐助', '鸣人', '娜美', '佐罗', '路飞']
['佐助', '娜美', '路飞']
['路飞', '佐罗', '娜美', '鸣人', '佐助']
[Finished in 1.1s]
列表的遍历
score = [12,14,456,7,9,69]
for x in score:
print(x)
列表的长度:获取列表中元素的个数
len(list1)
list1 = [1,2,3,4,5]
print(len(list1))
5
[Finished in 0.3s]
列表while遍历
score = [12,124,4436,768,79]
x = 0
while x<len(score):
print(score[x])
x+=1
添加列表元素:
1.append()函数:添加元素 list1.append(元素)
注意:append()函数在列表的年末未添加一个元素
2.insert()函数:insert(index,元素)在列表指定的下标中插入元素
注意:insert()函数下标可以越界:list1 = [1,2,3]
list1.insert(4,4)-->list1 =[1,2,3,4]
3.+ :列表1+列表2,将列表2中的元素,添加到列表1中
list1 = [1,2,3] list2 =['a','b','c']
list1+list2 = [1,2,3,'a','b','c']
list1 = []
list1.append(1)
list1.append(2)
list1.insert(2,3)
list2 = ['a','b','c']
list3 = list1+list2
print(list1,list3)
[1, 2, 3] [1, 2, 3, 'a', 'b', 'c']
[Finished in 0.8s]
删除列表元素:
1.del可以删除任何数据
del 列表[下标]:s删除列表中指定下标的元素
del list1[0]:删除列表第一个元素,删除后列表下标重新刷新
films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
del films[0]
print(films)
['阿甘正传', '摔跤吧爸爸', '海上钢琴师', '美丽人生']
获取列表中元素的下标:list.index(元素)
films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
print(films.index('阿甘正传'))
1
[Finished in 0.5s]
2.remove(元素):删除列表指定的元素,如果列表中元素重复的有多个,remove函数只删除前面的。
如果要删除的元素不在列表中,则会报错。错误类型ValueError
films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
films.remove('肖生克的救赎')
print(films)
['阿甘正传', '摔跤吧爸爸', '海上钢琴师', '美丽人生']
[Finished in 0.5s]
3.pop()方法:
列表.pop():将列表最后一个元素取出来
列表.pop(下标)取出列表中指定下标的元素
films = ['肖生克的救赎','阿甘正传','摔跤吧爸爸','海上钢琴师','美丽人生']
films.pop()
print(films)
films.pop(0)
print(films)
str1 =films.pop(0)
print(str1)
['肖生克的救赎', '阿甘正传', '摔跤吧爸爸', '海上钢琴师']
['阿甘正传', '摔跤吧爸爸', '海上钢琴师']
阿甘正传
[Finished in 0.8s]
注意:pop()函数进行删除元素操作时,下标不能越界
注意:del()和remove()方法直接将列表中元素从内存中删除,pop()函数将元素移除,可以使用这个移除的元素。
练习:使用列表保存10个学生的成绩
score = []
for x in range(1,11):
gread = int(input('输入第%d个学生的成绩:'%x))
score.append(gread)
print('第%d个学生的成绩是:%d'%(x,score[x-1]))
输入第1个学生的成绩:23
第1个学生的成绩是:23
输入第2个学生的成绩:23
第2个学生的成绩是:23
输入第3个学生的成绩:
练习:删除列表中小于60的成绩
score = [23,45,78,32,90,89,1]
for x in score[:]:
if x<60:
score.remove(x)
print(score)
[78, 90, 89]
修改列表的元素
通过下标获取元素然后重新赋值:list[下标]=新值
注意:下标不能越界
判断元素是否在列表中
元素 in list 元素 not in list 返回一个bool值
names = [1,2,2,3,4,5,1,5,6]
names1 = []
for x in names:
if x not in names1:
names1.append(x)
print(names1)
获取列表长度
len(列表)
列表*数字:让列表中的元素重复n次,产生一个新的列表
获取列表中的最大的元素和最小元素
max(列表) min(列表)
注意:如果列表全为数字,则比较数字的大小,全为字符串,比较字符串首字母大小
统计元素在列表中出现的次数
list.count(元素)
extend:添加元素 list.extend(),将序列中每一个元素,添加到列表中
list.extend(['hello,world'])不加中括号就会按字母添加
list.index(元素):获取指定元素在指定列表中的下标,如果元素有多个,取第一个
list.reverse():将列表倒序
123 321
注意:此函数对元列表进行操作,不会产生新的列表
list = [1,2,3]
list.reverse()
print(list)
sort():对列表进行排序
list.sort() 默认升序,降序list.sort(reverse=True)
list.clear():请空列表
list.clear() 等同于 list = []
list.copy():复制列表
注意:复制的是列表的中元素,重新创建新的列表,不复制列表的地址
list.copy() 相当于 list1 = list[:],都是创建新的列表,只复制原列表的元素
上一篇: Java基础 Servlet监听器详解
下一篇: 宫寒吃什么食物调理(宫寒的症状有哪些)