Pyhton学习笔记

Python数据类型


  • 基本类型
    • 数字
    • 整型 int
    • 长整形 long
    • 浮点型 float
    • 字符串
    • 文本 str
    • 字节 bytes
    • 布尔
      True
      False
  • 数据集
    • 列表 list
    • 元组 tuple
    • 字典
      • 有序字典
      • 无序字典
    • 集合
      • 有序集合
      • 无序集合

列表


  • 列表的功能
    • 创建
      L1 = [] #创建一个空列表
      L2 = ['a','b','c',1,3,5,7,3,5,4,2] #创建列表
      list() #另一种方法创建一个空列表
    • 查询
      L2[2] #返回'c' 通过索引取值,-1是取最后一个值
      L2.index('c') #获取索引值
      L2.count('c') #统计列表中'c'的个数
    • 切片
      L2[0:2] #返回前两个元素'a'和'b',索引值0和一,不包括2
      L2[:2] #同上,另一种写法
      L2[0:10:2] #最后一个数字表示步长
    • 增加
      L2.append('y') #追加,放在最后
      L2.insert(0,'y') #插入,0代表插入位置
    • 修改
      L2[2] = 'g' #直接赋值即可
    • 删除
      L2.pop() #删除最后一个元素
      L2.remove('c') #删除元素'c'
      del L2[0] #删除第一个元素;del是全局删除,可以删除变量、整个列表
    • 循环
    for i in L2:
      print(i)
    
    for index,i in enumerate(L2):
    
    • 排序
      L2.sort() #按ASCii码排序
      L2.reverse() #倒序
  • 列表的方法
    append() #追加
    insert() #插入
    index() #获取索引值
    count() #统计相同元素个数
    pop() #删除最后一个元素
    remove() #删除指定元素
    sort() #按ASCii码排序
    reverse() #倒序
    clear() #清空列表
    copy() #Copy列表
    len(列表名) #获取列表长度

字符串函数


swapcase() #大小写互换
format() #格式化
index() #返回索引值
isalnum() #判断是否阿拉伯字符
isalpha() #同上
isdigit() #判断是否是整数
isidentifier() #判断是否是合法的变量名
islower() #判断是否小写
isprintable() #判断是否可以打印
ispace() #判断是否空格
join() #将列表变成字符串('-'.join(列表名))
lower() #变小写
upper() #变大写
strip() #去掉两头的空格、换行、Tab
str.maketrans(变量1,变量2) #密码表
replace('原字符','新字符',[替换次数])
find() #查找字符
count() #统计相同字符个数
center()
split()

元组


元组与列表差不多,也是一组数据,只是它一旦创建便不能修改,所以也叫只读列表

  • 特性:
    不可变
    元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变
  • 功能:
    index
    count
    切片
  • 使用场景:
    显示的告知,此处数据不可修改
    数据库连接配置信息等

字典


  • 特征:
    key--value结构
    key必须可以hash,且必须为不可变数据类型,必须唯一
    value可存放任意多个值,可修改,可以不唯一
    无序
    查找速度快
  • 语法:
    • 创建:
      info = {'s01':'zhangsan','s02':'lisi','s03':[22,'gongcs','asd']}
    • 增加:
      info['s01'] = 'wuangwu'
    • 修改:
      同上
    • 查询:
      's02' in info #返回True或False
      info.get('s02') #如没有返回none
      info['s02'] #如没有会报错
    • 删除:
      info.pop('s02')
      info.popitem() #随机删除
      del info['s02']
  • 多级字典嵌套
    • 常用函数(方法)
      info.keys() #取出key
      info.values() #取出value
      info.items() #将key和value放入一个列表
      info.update(字典名) #合并两个字典
      info.setdefault(key,'value') #如果有这个key就不改变,如果没有就创建
      info.fromkeys([列表])
    • 字典循环:
    for k in info:
      print(k,info[k])
    
    for k,v in info.items():
      print(k,v)
    

集合


集合是一个无序的,不重复的数据组合

  • 作用:
    去重:把一个列表变成集合,就自动去重了
    关系测试:测试两组数据之间的交集、差集、并集等关系
  • 语法:
    s = {} #创建一个空的集合
    s = {1,2,3,4,5} #创建一个集合
    set(列表名) #将列表转换为集合
    • 增加:
      s.add(6)
    • 删除:
      s.pop() #随机删除
      s.remove(2) #删除一个元素
      s.discard(7) #删除一个元素,如果没有这个元素,不会报错
      s.update([7,8,9,0]) #可以同时增加多个元素
      s.clear() #清除集合
  • 关系测试:
    • 交集:
      s.intersection(s2)
      s & s2
    • 差集
      • 获得 s 的差集
        s.difference(s2)
        s - s2
      • 获得 s2 的差集
        s2.difference(s)
        s2 - s
      • 对称差集
        s.symmetric_difference(s2)
        s ^ s2
    • 并集
      s.union(s2)
      s | s2
    • 超集/子集
      s.issuperset(s2) s >= s2
      s2.issubset(s) s2 <= s
  • 包含关系:
    in,not in:判断某元素是否在集合内
    ==,!=:判断两个集合是否相等
    两个集合之间一般有三种关系:相交、包含、不相交
    s.isdisjoint(s2):判断两个集合是否不相交
  • 字符编码
    oct():十进制转八进制
    hex():十进制转十六进制
    bin():十进制转二进制
    chr():ascii码转换
    s.decode("utf-8"):解码
    s.encode("gbk"):编码

你可能感兴趣的:(Pyhton学习笔记)