Python 0基础_变现_38岁_day 7

总结:
'''
----------------------------------------------索引下标的概念------------------------------------------
索引可以认为是某个数据的序号:比如班级里成绩最好的那个人的序号,就是1,第二好的就是2
索引可以提取字符串、列表、元组等数据类型中的某个元素
在Python中的索引位置从左到右,从0开始;从右到左是-1开始

索引的取值格式:在变量后面添加一对中括号[],在[]中填写需要提取值的索引位置,eg:提取第一个值:变量名[0]

'''
# str = '欢迎学习python'
# print(str[6])           #从左到右索引位置是6
# print(str[-3])          #从右到左索引位置是-3
'''
切片的概念
作用:提取部分字符串
语法:变量名[start:end]  #左闭右开
'''
# print(str[0:4])         #提取“欢迎学习”
# print(str[-5:-1])       #提取"P"后面的字符;注意开始数的位置为:0(*****)
# print(str[4:])          #提取start位置后面的所有字符;注意开始数的位置为:0(*****)
# print(str[:-6])         #提取end前面的所有字符;
# print(str[:])           #提前全部字符;

'''
--------------------------------for 循环--------------------------------------------------------

#while循环实现
str = 'hello'
i=0
while i<5:
    print(str[i])
    i+=1

# for in 是我们使用的for循环关键字
for循环语法:
    for 自定义的循环变量 in  可迭代遍历的对象(字符串、列表、元组)
for循环可以不用考虑循环的次数,for会自动获取迭代对象的索引位置的值,直至末尾,循环才会结束(*****)    
'''
# str = 'hello'
# for i in str:           #每次循环,for循环会把迭代对象里获取的值,赋值给i(循环变量)【理解:迭代对象和循环变量】
#     print(i)            #要有索引值的数据类型才能成为可迭代对象;
'''
range函数
语法:
for in range(start,end,step)
    循环代码
star:起始位置,要给定数值类型,默认值为0
end:结束位置,数值类型(左闭右开)
step:步长,默认值为1
'''
#打印1-100的数值
# for i in range(1,101,3):            #  '3':代表每次循环增加的距离为:3;
#     print(i)
#for i in range(100):                 # 可以在range中只写end结束位置,她会默认从0开始取,知道结束位置-1
#for i in range(2,100,2):             #取偶数

'''
continue
        跳过本次循环,继续执行下次循环
'''
#打印1-10之间的数字,但是不能打印被3整除的数,并且用一个“过‘代替

# for i in range(11):
#     if i%3==0:
#         print('过')
#         continue
#     if i==10:
#         break
#     print(i)
# else:                   #当循环被break强制终止的时候,else中的内容不会被执行
#     print('循环结束')
'''
----------------------------------------------for循环实例------------------------------------                    
'''
#使用for循环嵌套实现打印出一个月内每一周中的每一天,附加条件:第3周有事请假不打印,周六周日不打印

# for i in range(1,5):                        #外层循环有4次,表示每月有4周
#     if i==3:
#         continue
#     for j in range(1,8):                    #内层循环有7次,表示每周有7天
#         if j>5:                             #不打印周6,7
#             break                           #break和continue在嵌套循环中,只会对上级循环起作用
#         print(f'今天是第{i}周,第{j}天')

'''
列表 list
列表可以使用一个变量存储多个元素,每个元素使用’,',隔开
语法:变量名 = [元素1,元素2......]
列表可以存储不同的数据类型(一个列表里可以放数字、字符串、嵌套列表)
列表可以嵌套多层,嵌套的列表只算一个元素
可以使用索引来提取列表中的元素
'''
# student = [1,'张三','李四','王五','赵六',['孙七',18]]
# print(student)              #直接打印列表(原型)
#
# print(len(student))         #查看一个变量的长度可以使用len()内置函数
# print(student[2])           #打印李四
# print(student[2:4])         #打印李四和王五     切片出来的数据类型会继承原来的数据类型
# print(type(student[2:4]))   #查看切片的类型
# print(student[2:4:2])       #使用步长来获取想要的数据
# print(student[-1][0])       #嵌套列表可以使用两层索引位置取出对应的值;

'''
    ------------------列表添加元素-------------------------------------
方法:
    1、append()      默认添加到列表的末尾
    2、insert()      在指定的索引位置添加元素
    3、extend()      将另外一个列表中的元素逐一添加
'''
# list_name = ['张三','李四','王五']
# print(list_name)
# list_name.append('赵六')              #在末尾添加元素
# print(list_name)
# list_name.insert(1,'小明')            #在索引位置是1的位置,添加元素
# list_name2=['小蓝','小红','小绿']
# list_name.extend(list_name2)         #将name2中的元素逐一添加到name中的最后面,此方法不能指定位置,只能添加在最后;
# print(list_name)

'''
-----------------------------------列表中查找元素---------------------------------------
成员运算符:
in(存在)->存在未ture,否则为false
not in(不存在)  --->不存在未ture,否则为false
'''
# list_name = ['张三','李四','王五']        #查找张三是否这个列表中
# if '张三' in list_name:
#     print(True)
# else:
#     print(False)
#
# list_name = ['张三','李四','王五']        #查找赵六是否这个列表中
# if '赵六' not in list_name:
#     print(True)
# else:
#     print(False)

#知道数据在这个列表里后,怎么知道这个数据的索引位置呢?   index():返回查找元素的索引位置:

# print(list_name.index('李四'))
# print(list_name.index('赵六'))            #查找的元素不在列表中,就会报错

'''-----------------------------------列表中修改元素---------------------------------------'''
# list_name = ['张三','李四','王五']
# print(list_name)
# list_name[1]='李小四'                          #将李四改为李小四,   这里的:list_name[1],表示取出元素,并且取元素使用:[]
# print(list_name)
# list_name2=['小红','小绿','小白']
# list_name.append(list_name2)                  #将list_name2中的元素添加到list_name中;
# print(list_name)

#如果不知道元素的索引位置,可以用index()修改

# list_name[list_name.index('张三')] = '张小三'
# print(list_name)

'''-----------------------------------列表中删除元素---------------------------------------
删除元素的四种方法:
pop()                   可以指定位置删除,如果不指定,默认删除最后一位
remove()                指定元素值删除
del                     可以使用索引或者切片来删除元素
clear()                 将列表中的所有元素清空
'''

# student = ['张三','李四',19,'王五',28,'赵六',88,'孙七']
# student.pop()                   #默认移出最后一位,                          只删除一个元素
# print(student)
# student.pop(4)                  #删除索引位置为4的元素                       只删除一个元素
# print(student)
# student.remove('赵六')            #指定元素值进行删除                        只删除一个元素
# print(student)
# del student[2:4]                #通过切片删除2个元素(注意左闭右开原则),       可删除多个元素
# print(student)
# student.clear()                 #清空所有元素
# print(student)

'''-------------------------------列表推导式----------------------------------'''
#将100以内的偶数添加到列表中
#普通的写法

# list_name=[]                    #首先定义一个空列表
# for i in range(100):
#     if i%2==0:
#         list_name.append(i)
# print(list_name)

#列表推导式  可以将我们的for循环用[],写在一行里面操作
# list_num2 = [i for i in range(100) if i%2==1]
# print(list_num2)

'''-------------------------------列表中的其他方法----------------------------------
copy()              将列表复制一份,需要定义一个新变量来接受
count()             统计列表中某个元素出现的次数
reverse()           将列表元素反向
sort()              对列表进行排序,会在原列表中进行排序(不同于copy()方法)
sorted()            对列表进行排序,结果会生成一个新的列表,需要定义一个新变量来接受
'''
#如果直接用一个变量去等于另一个变量,这两个变量的值是有关联的,而使用copy()方法,这两个变量的值是没有关联;
#eg:
# a = [1,2,3]
# b = a
# c = a.copy()
# print(a,b,c)
# a[0] = 4
# print(a,b,c)        #使用copy()方法,新列表会独立于原列表之外,新列表的改变,不会影响原列表,它独立了;
# print(id(a),id(b),id(c))      #"b=a",说明b和a同时指向了同一个内存地址;.copy()是将变量复制出来,赋给一个新的变量,指向不同的内存地址;

# list1 = [1,3,5,4,8,4,6,6,4,3,4,2,4,4,7]
# print(list1.count(4))                       #统计4 出现的次数;
# list1.reverse()                         #将列表反向;
# print(list1)
# list1.sort()                            #将列表进行排序,默认为升序
# print(list1)
# list1.sort(reverse=True)                #将列表进行降序排列
# print(list1)

'''---------------以下是sorted的用法-----------------------'''
# list2 = [4,5,7,9,3,10]
# list2_new = sorted(list2)           #将排序后的列表赋值给一个新变量,sorted()方法于其他方法不一样,它的使用方法于count()一致,需要再()中填写变量;
# print(list2)
# print(list2_new)

'''-------------------元组----------------------------
元组于列表类似,不同之处在于元组的元素不可以修改删除,元组使用()定义;
注意:当元组中一个元素的时候,后面也要写一个逗号,否则就会被识别为一个普通元素,而不是元组
如果要将元组中的元素进行修改或者删除,可以将元组转化为列表

'''
# a =(1)
# b = (1,)                   #元组中只有一个元素,也要用+一个逗号
# print(a)
# print(b)
# print(type(a))              #a是一个int类型
# print(type(b))              #b是一个元组类型
#tuple1 = ('apple','banana','hami','grape')
# print(tuple1[1])                #元组的操作与列表类似,输出:banana;
# print(tuple1[1:3])              #切片方法于列表一致,输出的结果仍为元组;

'''----------------修改元组元素-------------------'''
# list1=list(tuple1)                 #将元组转化为列表
# print(list1)
# list1[1]='orange'                  #通过列表来修改元组的元素
# print(list1)
# tuple1=tuple(list1)                 #再将列表转化为元组
# print(tuple1)

'''----------------元组拆包-------------------
元组可以赋值给多个变量,只要变量个数不超过元组长度
元组的长度可以多余变量的数量,只需要在某个变量的前面加个*,就可以让这个变量把多余的元素都接受,并返回一个列表
'''
# tuple1 = ('apple','banana','hami','grape')
# # a,b,c,d = tuple1                            #将元组里面的元素分别赋值给变量a,b,c,d
# # print(a,b,c,d)
# *a,b,c = tuple1                         # 元组过长,+"*"把多余的元素赋值给c,如果不加*,会报错;*可以加在任意变量前面;
# print(a,b,c)                             #以上输出:’['apple', 'banana'] hami grape‘,元组的赋值也是一一对应的关系;

'''----------------------------------------课后作业-----------------------------------------'''
'''
    1、有一个列表info = [1,3,2,5,4],通过两种方式将列表变为 info=[5,4,3,2,1]
    2、一个列表中有重复元素,编写程序,移出重复元素:
        was:li=[1,1,1,2,2,2,3,2,4,3,2,5,4,3,2,1,4]
        is: li = [1,2,3,4,5]
'''
info = [1,3,2,5,4]
info_new1=sorted(info)
info_new1.reverse()
print(info_new1)
info.sort(reverse=True)
print(info)

li=[1,1,1,2,2,2,3,2,4,3,2,5,4,3,2,1,4]
li1=[]
# for i in range(1000):
#     if i in li:
#         li1.append(i)
# print(li1)
for i in li:
    if i in li1:
        continue
    else:
        li1.append(i)
print(li1)

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值