第三章笔记

本文详细介绍了Python的基础数据结构,包括字符串的定义、索引、切片、转义符和常用函数;列表的创建、增删改查以及常用函数;元组的创建及不可变特性;集合的创建、增删查改以及运算操作。此外,还涉及字典的创建、增删改查方法。内容全面,适合初学者掌握Python基础知识。
摘要由CSDN通过智能技术生成

一.  

1.字符串:
         概念:由0个或多个字符组成的有序字符序列
                    由' ' 或" "表示
                    使用[ ]获取一个或单个字符 例如:[-1:5]
     2.索引:返回字符串中单个字符
        切片:返回字符串中一段字符子串 
        左开右闭   正向递增  反向递减
       3.转义符:
           "\b"回退 
           "\n"换行(光标移动到下行首) 
           "\r" 回车(光标移动到本行首)
       4. 常用函数
          len()获取长度  str() 把任意数据类型转换成string
           Type()输出数据类型的
       5.lower() 转换小写   upper()转换大写   split()拆分
         replace   str中的任意一个子串替换成新的子串  返回字符串
       6. 格式化:
             %s,表示字符串;
             %d,表示整数;
             %f,表示浮点数
             %,表示一个占位符
       7.         .format(<逗号分隔的参数>)
二.

1.List(列表)
          列表是序列类型的一种扩展
          列表是一种序列类型,创建后可以随意被修改
          使用方括号 [] 或list() 创建,元素间用逗号 , 分隔
          列表中各元素类型可以不同,无长度限制

  • list01 = [1,2,3,4]
    
    """
    
      [] 空列表
    
      list() 里面什么都没有,创建空列表
    
      list(["张三","李四"])
    
    """
    
    list02 = list() #[]
    
    list03 = list(["张三","李四"])
    
    print(list01)
    
    print(list02)
    
    print(list03)
    
    list04 = [12.3,10,3.14e2,"张三"]
    
    print(list04) #[12.3, 10, 314.0, '张三']

2.常用函数:
          len(列表) 统计列表中元素的个数
          sum(列表) 求和
          max(列表) 最大值
          min(列表) 最小值

#创建list
list01 = [1,2,5,7,-2,-9]

#len(列表) 统计列表中元素的个数
a = len(list01)
print(a) #6

#sum(列表) 求和
b = sum(list01)
print(b) #4

#max(列表) 最大值
c= max(list01)
print(c) #7
#min(列表) 最小值
d = min(list01)
print(d) #9

3.增:
          list.insert(index,值)  根据下标进行插入数据
          list.append(值) 在末尾插入

#创建
list01 = ["zz","dd,"hh","bb","pp"]

#list.insert(index,值)  根据下标进行插入数据
list01.insert(1,"yy")
print(list01)  #['zz', 'yy', 'dd', 'hh', 'bb', 'pp
#list.append(值) 在末尾插入
list01.append("lisa")
print(list01) # ['zz', 'yy', 'dd', 'hh', 'bb', 'pp', 'lisa']


4.删:
          list.pop(index) 删除指定位置的数据
          list.remove(值) 删除值
          list.clear() 删除所有数据

#创建
list01 = ["zz","dd","hh","lisa","bb","pp","zz"]

#list.pop(index) 删除指定位置的数据
list01.pop(3)
print(list01)  #['zz', 'dd', 'hh', 'bb', 'pp', 'zz']

#list.remove(值) 删除值,但是他删除的是值第一次出现的位置
list01.remove("zz")
print(list01) #['dd', 'hh', 'bb', 'pp', 'zz']

#list.clear() 删除所有数据
list01.clear()
print(list01) #[]


5.改:
         List[i] = 值(要修改的值

#重新进行赋值
list01[3] = "yy"
print(list01)  #['zz', 'dd', 'hh', 'yy', 'bb', 'pp', 'zz']


6.查:
         查询所有 ---直接打印列表名字
         查询单个值      利用[index]进行查询 index-->从0开始
         查询多个值      [start:stop]   左开右闭

#创建list
list01 = [1,2,5,7,-2,-9]

#查询所有 ---直接打印列表名字
print(list01)
"""
  查询单个值
   利用[index]进行查询 index-->从0开始
"""
print(list01[1])  #2
"""

三:

元组 (tuple)
      1.概念:
        元组是一种序列类型,一旦创建就不能被修改  不能增删改
        使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔

创建

  • 使用小括号 () 或 tuple() 创建,元素间用逗号 , 分隔

  • #创建

    tuple01 = (1,2,3)
    
    tuple02 = tuple() #空元组  ()
    
    tuple03 = tuple((5,6,7))
    
    print(tuple01)
    
    print(tuple02)
    
    print(tuple03)

四  set集合

概念

集合是多个元素的无序(没有下标)组合

集合类型与数学中的集合概念一致

集合元素之间无序,每个元素唯一,不存在相同元素

集合元素不可更改,不能是可变数据类型    

为什么? 无序唯一

创建

  • 集合用大括号 {} 表示,元素间用逗号分隔

  • 建立集合类型用 {} 或 set()

  • 建立空集合类型,必须使用set()

  • ● #创建
    ● set01 = {1,2,3,4,5}
    ● set02 = set() #set()
    ● set03 = set({9,10,11})
    ● print(set01)
    ● print(set02) 
    ● print(set03)

  • 空列表 []

  •  空元组 ()

  •  空字典 {}

  •  空集合 set()

  •   原因是字典的创建也是{},两者冲突了

  •    所以我们的空集合是set(),创建空集合的时候必须使用set()

  • ● print(type({})) #<class 'dict'>
    ● print(type(set())) #<class 'set'>

  • set.add(数据) 添加一个数据  不也能添加已有的数据,虽然不报错,但是不显示

    #创建

    set01 = {"花木兰","貂蝉","妲己","王昭君"}
    
    set01.add("杨玉环")
    
    print(set01) #{'花木兰', '王昭君', '貂蝉', '妲己', '杨玉环'}
    
    set01.add("花木兰")
    
    print(set01) #{'花木兰', '杨玉环', '王昭君', '妲己', '貂蝉'}

set01.update(set02) 批量添加数据

   把set02添加到zet01中

set02 = {"嬴政","武则天"}
set01.update(set02)
print(set01) #{'花木兰', '嬴政', '杨玉环', '妲己', '王昭君', '武则天', '貂蝉'}

 不可以更改数据

集合元素不可更改,不能是可变数据类型    

为什么? 无序唯一

直接打印集合名字去查询

不能使用索引进行查询,因为我们集合是无序的

print(set01)

print(set02) 

print(set03)

#创建

set01 = {"喜羊羊","美羊羊","懒洋洋","沸羊羊","暖羊羊","慢羊羊","灰太狼"}



#set.copy() 复制/拷贝一个一模一样的集合

set02 = set01.copy()

print(set02) #{'慢羊羊', '美羊羊', '灰太狼', '喜羊羊', '沸羊羊', '暖羊羊', '懒洋洋'}



#len(set) 返回集合的元素个数,集合的长度

a = len(set01)

print(a) #7



"""

 x in set 元素x在不在集合当中

 x not in set 元素不在集合中

"""

print("慢羊羊" in set01) #True

print("慢羊羊" not in set01) #False



#set(x) 把其他数据类型(x)转换成集合类型 

Str = "hello"

print(Str) #hello

print(type(Str))



b = set(Str)

print(type(b)) #<class 'set'>

print(b) #{'o', 'e', 'h', 'l'}

重点

 并

 """

 

   1.他的符号是  |

   2.返回两个集合的所有值

"""

print(set01 | set02) #{1,2,3,4,5,7,9}

"""

 

   1.差的符号是  -

   2.set01 - set02  set01去掉公共部分的值

"""

print(set01 - set02) #{1, 4}

print(set02 - set01) #{9, 7}

"""

 交

   1.交的符号  &

   2.两个的公共部分

"""

print(set01 & set02)  #{2, 3, 5}

"""

 补集

  1.补集的符号 ^

  2.并集-交集 = 补集

  3.除去公共部分,set01和set02的单独部分我都要

"""

print(set01 ^ set02) #{1, 4, 7, 9}

五.字典

概念

  •   映射是一种键(索引)和值(数据)的对应

""" 

 映射

 key  value

 张三  18

 李四  20

 王五  80

"""

"""

    [1,2,3,4]

索引 0 1 2 3

"""

创建

  • 键值对:键是数据索引的扩展

  • 字典是键值对的集合,键值对之间无序(没有索引)

  • 采用大括号{}和dict()创建,键值对用冒号: 表示

  • 字典类型是“映射”的体现

  • <字典变量> = {<键1>:<值1>, … , <键n>:<值n>}

#创建

dict01 = {"张三":18,"李四":20,"王五":80}

dict02 = dict()

dict03 = dict({"张三":90,"李四":20})

print(dict01)  #{'张三': 18, '李四': 20, '王': 80}

print(dict02) #{}

print(dict03)  #{'张三': 90, '李四': 20}

"""

  dict01[新的key] = 新的值  添加数据

  

"""

dict01["小乔"] = "天魔缭乱"

print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船', '元哥': '无敌时间移位', '小乔': '天魔缭乱'}

"""

 dict.pop(key)  根据key删除一对数据

 dict.clear()  清除所有数据

"""

dict01.pop("元哥")

print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船'}

"""

  只能修改值,不可以修改key

  为什么:因为key是唯一的,不能重复的,避免出现重复的情况所以不能修改

  怎么修改: 

      先根据key拿到值  dict01["孙策"]

      再重新赋值

"""

dict01["孙策"] = "乘风破浪"

print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '乘风破浪', '元哥': '无敌时间移位'}

#创建

dict01["孙策"] = "乘风破浪"

print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '乘风破浪', '元哥': '无敌时间移位'}

# dict.keys()  查看所有的key(英雄)

print(dict01.keys()) #dict_keys(['鲁班', '花木兰', '孙策', '元哥'])

# dict.values()  查询所有的value(大招)

print(dict01.values()) #dict_values(['空中支援', '切换形态', '开船', '无敌时间移位'])

"""

 查询单个值

  1.dict[key]  利用key查询value

  2.dict.get(key,默认值)  利用key查询value 如果key没有,那么就输出默认值

"""

print(dict01["花木兰"]) #切换形态

print(dict01.get("花木兰"))  #切换形态

print(dict01.get("貂蝉","没有此英雄,请购买")) #没有此英雄,请购买

"""

 查询所有值(包括key和value)

  1.直接打印字典名

  2.dict.items() 迭代方法

"""

print(dict01) #{'鲁班': '空中支援', '花木兰': '切换形态', '孙策': '开船', '元哥': '无敌时间移位'}

print(dict01.items()) #dict_items([('鲁班', '空中支援'), ('花木兰', '切换形态'), ('孙策', '开船'), ('元哥', '无敌时间移位')])

 """

k in dict    key在不在字典里面

 如果在输出True  如果不在输出False

 为什么 20 in dict0

   原因是他只能判断key在不在,不能判断value在不在

"""

"""

  del 字典名[key]  删除指定位置的数据

  和pop一样 

  dict.pop(key) 删除指定位置的数据

"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值