小白python入门(二)_列表[]字典{}元组()集合{}


b站课程学习笔记
up主:Python_子木
https://www.bilibili.com/video/BV1wD4y1o7AS?p=23

7. 程序的组织结构

  • 顺序结构

    程序重上到下 依次执行

  • 分支结构

  a =100
  
  if a>10:
      print("ok")
  else:
      print("no")
a = int(input("输入成绩判断等级"))
if a>0 and a<=100:
    if a>=80 :
        print("优秀")
    elif a>=60:
        print("及格")
    else:
        print("不及格")
else:
        print("输入错误")
  • 循环结构

    • while
    a=1
    while a<10:
       	print(a,end="")
        a+=1
    
    • for-in
    for i in "python": #in 后面是迭代对象 eg:range,一个字符串
        print(i)#输出 p y t h o n
    
    for _ in  range(10): #循环体中不需要使用自定义变量,可以自定义变量写为_
        print("人生苦短 我用python")
    
    • break 语句

      和 C 中的类似,用于跳出最近的一级 for 或 while 循环。

    • continue语句
      用于结束当前循环,进入,下一次循环,通常与分支结构中的if一起使用

    • else 与 循环语句(for while)搭配使用

      循环正常执行 没有break 时,执行else

    a= 0
    while a<3:
        pwd=int(input("输入密码"))
        if pwd ==888:
            print("输入正确")
            break;
        else:
            print("输入错误")
    
        a+=1
    else:
        print("三次输入错误,账号已锁定")
    

    条件表达式
    中间判断为T 值为左 判断为F 值为右
    请添加图片描述

8. pass语句

用于搭建代码

9.内置函数

前面不需要加前缀 直接使用的

eg:intput print

  • range函数

返回值是一个迭代器对象
range类型的优点:不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素
in与not in 判断整数序列中是否存在(不存在)指定的整数

r = range(10) #范围【0 10)默认从0开始 默认步长为1
print(r) #控制台输出range(0, 10)
print(list(r)) #--》列表 用于查看ranf对象中的整数序列

r =range(1,10)# 后面那个是开区间
print(list(r))
print(10 in r) #False

r =range(1,11,2)#没加步长前 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
                #加步长     [1, 3, 5, 7, 9]
print(list(r))

10.列表[]

相当于群体语言的数组

可以存不同的类型

可以存重复元素

根据动态分配和回收内存

存储多个对象的引用

列表对象 按顺序有序储存

请添加图片描述

1)创建
  • 中括号

  • 内置函数lis= list([‘hello’,‘word’,98])

    lis[0] 和 lis[-3]就是’hello’

    从右到左 -1开始

    从左到右 0 开始

2)查找 获取
lis= list(['hello','word',98,'hello'])
print(lis.index("hello")) # 输出0   返回左到右第一个
print(lis.index("hello",1,4))#3    在【1 4)里面找

不包括stop 步长为负数也是

请添加图片描述

  • 多个元素 切片操作
    请添加图片描述

start默认是0 stop默认是最后一个 step默认是1

  • 步长是负数
3)添加

请添加图片描述

请添加图片描述

请添加图片描述

4)删除

请添加图片描述

5)修改

请添加图片描述
请添加图片描述

6)排序

一种是原列表上排序

一种是使用内置函数得出新的列表 原列表不变

请添加图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pvGtyPfx-1633787237013)(D:\学习\截图\image-20211009163027915.png)]请添加图片描述

7)列表生成式

i*i 是表示列表元素的表达式请添加图片描述

i 是自定义变量

range是可迭代对象

11.字典{}

以键值对的方式存

  • hash(key)计算存储位置

  • key 应是不可变对象 eg:int str

  • key 不能重复 Value可以重复 重复会引起覆盖

  • 元素无序

  • 较浪费内存

  • 与list 一样 自动动态分配空间

1)创建

请添加图片描述

空字典就是 d={}

2)获取 判断

请添加图片描述

区别:

没有查到时:

第一种报错

第二种输出None or 给的值
请添加图片描述

3)增加 删除 改

请添加图片描述

请添加图片描述

4)视图
  1. keys()
  2. values()
  3. items()

请添加图片描述

请添加图片描述

5)遍历

for i in scores

i 是Key i是有顺序的

6)字典生成式

请添加图片描述

itmes=["apple", "book","others"]
prices=[80,90,85]
d={ item:price    for item ,price in zip(itmes,prices) }
print(d)
#{'apple': 80, 'book': 90, 'others': 85}
itmes=["apple", "book","others"]
prices=[80,90,85]
d={ item.upper():price    for item ,price in zip(itmes,prices) }
print(d)
#{'APPLE': 80, 'BOOK': 90, 'OTHERS': 85}

12.元组()

元组

  • Python内置的数据结构之一,是一个不可变序列

    不变可变序:字符串、元组
    不变可变序列 没有增、删,改的操作

    字符串可以s=s+“a” 但是id(地址) 是会变的

    可变序列:列表、字典,集合
    可变序列 可以对序列执行增、删、改操作,对象地址不发生更改

1).创建

第一种创建方式,使用() 小括号可以省略

第二种创建方式,使用内置函数tuple()

请添加图片描述

元组内如果只包含一个元组的元素 需要使用逗号和小括号

t=( 10 ,) #如果不写  , 将会识别为str
2)获取
  • 索引

    t[0] t[1] t[2]

  • for…in 循环

请添加图片描述

13.集合

集合
Python语言提供的内置数据结构
与列表、字典一样都属于可变类型的序列·集合是没有value的字典

可以类比数学里的集合

  • 不可重复
  • 可变序列
1)创建
  • s={2,3,4,5,5,6,7,7}

  • s=set()

  • s=set(range(6))

  • s2=set ([1,2,4,5,5,5,6,6]) #会自动去掉重复元素

  • 空集合 必须set() {}默认是空字典

2)增加
  • add 添加一个元素
  • update 添加多个元素(加元组,列表…)
3)删除
  • remove() 有则删除 没有异常
  • discard 不抛异常
  • pop() 随机删除一个
  • clear 清空
4)集合之间的关系
							4种

请添加图片描述

请添加图片描述

5)数学操作

不影响原来的集合

  • &
  • |
  • ^
    请添加图片描述

请添加图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rJBMLCX0-1633787237037)(D:\学习\截图\20211009213709.png)]
请添加图片描述

6)生成式

s={ i*i for i in range(10)}请添加图片描述
请添加图片描述
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值