python学习笔记3

python第三章

1、range()函数

三种用法

**1.r=range(stop) **

**2.r=range(start,stop) **

**3.r=range(start,stop,step) **

单纯的r是一个迭代器对象,需要用List取出内容

r=range(1,10,2)
print(r)
print(list(r))

2、while循环与for in循环

基本与c或者java类似,其中特别的是没有花括号而用引号

for i in range():

for i in range(1,10):
    for j in range (1,i+1):
        print(i,'*',j,'=',i*j,end='\t')#end='\t'是为了不换行
    print()

break是打断,continue是继续,特别的,存在一种情况是for或while 与else搭配使用,其作用是在没有被break打断的情况下正常执行完循环后再执行else中的语句

for i in range(3):
    a=input("请输入密码")
    if(a=='ccss04140403'):
        print("密码正确")
        break #break后就不执行else的语句了,否则执行
    else:
        print("密码错误您还有"+str(2-i)+"次机会")
else:#for in或者while 与 else 搭配,循环正常结束,没有执行break的时候才会执行

    print('''!!!!!!!!!!!!!!!!!!
!!!!艹,你别猜了!!!!
!!!!!!!!!!!!!!!!!''')

3、列表

1、列表的创建

list1=['hello','陈吴航',98]#创建列表的第一种方式
list2=list(['hello','world',99])#创建列表的第二种方式

2、列表的查找

用index查抄

lst = ['hello','world',98,'hello']
print(lst.index('hello'))#如果存在N多个相同元素时,优先返回第一个元素

列表的索引从左到右是0 1 2 3 4 ····,从右到左是-1,-2,-3···

3、切片操作

#切片操作
lst=list(range(10))
print('原列表',id(lst))
lst1=lst[1:6:1]#从1开始到6结束不包括6
print(lst1)
print('切的片段',id(lst1))
# 切片操作中,只有start和stop,默认步长为1
# 只有start和正数的step默认到最后且包括最后一个,
# 只有start和负数的step默认到最开始且包括第一个,逆序输出,特别的[::-1]是列表反置,但由于是切片,并不是原来的列表,与后面的排序做区分
print(lst[::-1])
print( 10 in lst)

4、增

lst=list(range(10))
print('添加元素之前',lst,id(lst))
lst.append(100)#加在lst的末尾一个元素
print('添加元素之后',lst,id(lst))
lst2=['hello','world']
# lst.append(lst2),这个把lst2作为一个元素加到最后
# print(lst)
lst.extend(lst2)#向列表的末尾一次性加入多个元素
print(lst)
lst.insert(1,90)#在指定的位置添加元素
print(lst)
lst3=[True,False,'hello']
lst[1:]=lst3#把1后面的切掉,切掉的部分用列表lst3替换
print(lst)

5、删除

lst=[10,20,30,40,50,60,30]
lst.remove(30)#删除遇到的第一个符合条件的元素
print(lst)
lst.pop(3)#删除指定索引的元素,不指定索引删除列表中的最后一个元素
print(lst)
lst.pop()
print(lst)
lst[1:3]=[]#切片后把目标切片部分用空代替
print(lst)
lst.clear()#清空元素
print(lst)
del lst#删除列表

6、改

lst=list(range(10))
print(lst)
lst[2]=77
print(lst)
lst[1:3]=[500,501,502]
print(lst)

7、排序

lst=[22,11,39,28,46,80,66]
print('排序前的列表',lst,id(lst))
lst.sort()#sort是原列表进行的排序
print('排序后的列表',lst,id(lst))
lst.sort(reverse=True)#逆序
print('第二次排序的列表',lst,id(lst))
print('-------------使用内置函数sorted进行排序将产生一个新的列表对象-----------------------')
print('原列表',lst)
new_lst=sorted(lst)#同样的在后面加reverse=True就是降序排序
print(new_lst,id(new_lst))

8、列表表达式

lst=[i*i for i in range(1,10)]#表达式前面的i*i就是列表中的元素
print(lst)
posted @ 2021-06-08 17:16  陈wh是只居居  阅读(66)  评论(0)    收藏  举报