AI智能
改变未来

pythonl列表(list)


while循环

while循环3要素:变量初始化,循环条件,代码块
i = 0
while 条件:
代码块
demo:根据用户需求输出行数和星星的个数
while循环嵌套例子:

i = int(input(\'请输入行数:\'))j = int(input(\'请输入每行的个数:\'))a = 0while a < i:b = 0while b <j:print(\'*\',end=\'\')b +=1print()a +=1

打印直角三角形

#demo:打印直角三角形i = int(input(\'请输入行数:\'))a = 0while a < i:b = 0while b <=a :print(\'*\',end=\'\')b+=1print()a+=1

demo:打印倒直角三角形:

i = int(input(\'请输入行数:\'))a = 0while a < i :b = 0while b < i-a:print(\'*\',end=\'\')b+=1print()a +=1

demo:输出9*9乘法表

#9*9乘法表i = 1while i < 10:j = 1while j < i+1:print(\'%d*%d=%d\\t\'%(j,i,(i*j)),end=\'\')j+=1print()i +=1\'\'\'i = 1while i < 9:j = 1while j < i+1:print(f\'{j}*{i}={i*j}\\t\',end=\'\')j+=1print()i +=1\'\'\'\'\'\'1*1=11*2=2	2*2=41*3=3	2*3=6	3*3=91*4=4	2*4=8	3*4=12	4*4=161*5=5	2*5=10	3*5=15	4*5=20	5*5=251*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=361*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=491*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=641*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81\'\'\'#\'\\t\'制表符,让输出的内容整齐对齐

continue与break

continue:满足条件时,跳过当次循环,继续后面的循环

i = 0while i < 6:i+=1if i == 2:continueprint(i)else:print(\'hello\')\'\'\'13456hello\'\'\'

break:满足条件时,终止循环,后面的代码一律不执行

i = 0while i < 6:i+=1if i == 2:breakprint(i)else:print(\'hello\')\'\'\'1\'\'\'

列表(list[])

特点:列表是可变序列,字符串、整数、元组是不可变序列
列表:

python中的对象List

可以保存多个有序的数据(元素)

列表中的元素可以是任何对象

通过索引(index)可以对列表中的元素进行操作,是从0号位置开始的list[0]表示该列表中的第一个元素,列表长度是长度-1

len()可以获取列表的长度=最大索引+1

a = [10,20,30,40,50]print(len(a))print(a[0])print(a[4])\'\'\'结果如下:5代表列表的长度10表示列表的第一个元素50表示最后一个元素\'\'\'

a[-1]表示最后一个元素
a[-2]表示倒数第二个元素
.
.
.

切片

含义:切片是指从现有的列表中获取一个子列表。
语法:列表[开始的位置:结束的位置:步长]—位置是左闭右开.。
步长:如果依次获取元素,步长默认为1,可以省略不写
做切片的时候,总会返回一个新的列表,不会影响原来的列表。
如果省略结束位置,会从当前的开始位置一直截取到最后;
如果省略开始位置,会从第一个元素开始到结束位置上的元素(不包括结束位置上的元素)

如果开始位置和结束位置都省略,会把所有的元素截取出来
步长为1的时候,有默认不写

a = [10,20,30,40,50,60]print(a[1::1])print(a[:2:1])print(a[::])\'\'\'结果如下:[20, 30, 40, 50, 60][10, 20][10, 20, 30, 40, 50, 60]\'\'\'

步长为2的时候,代码如下:

a = [10,20,30,40,50,60]print(a[::2])\'\'\'结果如下:[10, 30, 50]\'\'\'

步长为-1的时候,就是将原来的列表进行反置,如下:

a = [10,20,30,40,50,60]print(a[::-1])\'\'\'[60, 50, 40, 30, 20, 10]\'\'\'

列表的操作

列表的+和*

+:可以将2个列表拼接成一个列表

a = [10,20,30,40,50,60]b = [70,80,90]print(a+b)\'\'\'[10, 20, 30, 40, 50, 60, 70, 80, 90]\'\'\'

*:可以将列表复制成制定的次数,列表的乘法就是复制原元素的次数

a = [10,20,30,40,50,60]print(a*2)\'\'\'[10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60]\'\'\'

in 和not in

in:用来检查指定元素是否在列表中

a = [10,20,30,40,50,60]print(10 in a)\'\'\'True\'\'\'

not in:用来检查指定元素是否不在列表中

a = [10,20,30,40,50,60]print(10 not in a)\'\'\'False\'\'\'

max和min

a = [10,20,30,40,50,60]print(max(a))print(min(a))\'\'\'6010\'\'\'

获取列表中元素的位置(index())

方法:index()的使用

a = [10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60]print(a.index(20))\'\'\'结果:1\'\'\'

寻找列表中第二个20元素
a.index(元素,开始位置,结束位置)

print(a.index(20,3,8))\'\'\'结果:7\'\'\'

count()指定元素在列表中出现的次数

a = [10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60, 10, 20, 30, 40, 50, 60]print(a.count(20))\'\'\'结果:3\'\'\'

列表的修改

方法:
1.列表名称[元素所在的位置]=要修改的内容
2.del 列表名称[元素所在的位置]—>删除该元素
3.通过切片来修改,如果修改的内容多余要修改的内容,往后依次填写进去

a = [10, 20, 30, 40, 50, 60]a[0:2] =[80,90,100]print(a)\'\'\'结果:[80, 90, 100, 30, 40, 50, 60]\'\'\'

如果是a[0:0] = 11,表示索引为0的位置插入11这个元素,a[1:1]向索引为1的位置插入元素
如果设置了步长进行修改,那么修改的内容必须与切除的内容个数一致

4.可以通过切片来删除元素

作业

给用户9次机会 猜1-10个数字随机来猜数字,如果随机的数字和用户输入的数字一致则表示正确

import randoma = int(input(\'请输入数字,我来判断是否一致:\'))b = random.randint(1,9)if a == b :print(\'恭喜中奖\')else:print(\'很遗憾,没有中奖\')

有2个列表 lst1 = [11,22,33] lst2 = [22,33,44]获取内容相同的元素

list1 = [11,22,33]list2 = [22,33,44]for i in list1:for j in list2:if i==j:print(\'2个列表相同的元素有:\'+str(i))
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » pythonl列表(list)