您的位置:首页 > 编程语言 > Python开发

pythonl列表(list)

2020-08-31 15:56 218 查看

while循环

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

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

打印直角三角形

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

demo:打印倒直角三角形:

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

demo:输出9*9乘法表

#9*9乘法表
i = 1
while i < 10:
j = 1
while j < i+1:
print('%d*%d=%d\t'%(j,i,(i*j)),end='')
j+=1
print()
i +=1
'''
i = 1
while i < 9:
j = 1
while j < i+1:
print(f'{j}*{i}={i*j}\t',end='')
j+=1
print()
i +=1
'''
'''
1*1=1
1*2=2	2*2=4
1*3=3	2*3=6	3*3=9
1*4=4	2*4=8	3*4=12	4*4=16
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64
1*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 = 0
while i < 6:
i+=1
if i == 2:
continue
print(i)
else:
print('hello')
'''
1
3
4
5
6
hello

'''

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

i = 0
while i < 6:
i+=1
if i == 2:
break
print(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))
'''
60
10
'''

获取列表中元素的位置(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 random
a = 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))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: