当前位置: 首页 > news >正文

python程序设计员—练习笔记

目录

基础处理

  • 字符串
  • 列表
  • 字典
  • 运算符
  • 正则表达式re库
  • requests
  • Beautiful Soup
  • jieba库
  • 分词模式
  • 基于TF-IDF算法的关键词提取
  •  基于TextRank算法的关键词提取
  • pandas 打开有多个表的.xlsx文件

基础处理


字符串

  • str_ = str_.lower()
  • lower()函数:将字符中的大写字母转换成小写字母
  • str_ = str_.upper()
  • upper()函数:将字符中的小写字母转换成大写字母
  • str_ = str_.replace("要被替换的字符","替换后的字符")
  • 替换字符串
  • str_ = str_.strip()
  • 删除字符串前后的空格或字符

  • str_ = str_.count()
  • 统计某字符在字符串中的个数
  • str_ = str_.split()
  • 以指定字符分割
  • str_.isalpha()
  • 用于判断字符中是否只包含英文中文字符,如果字符串至少有一个字符且所有字符都是字母,则返回 True,否则返回 False。
  • 判断中文字符,用编码格式匹配。
  • 判断字符中所有都是中文,有一个英文都返回False。
  • num = "python炒粉,为生活添砖java"if "\u4e00" <= num <= "\u9fff":print(True)
    else:print(False)
  • 提取字符中的非中文字符

  • num = "python炒粉,为生活添砖java"jg = ""
    for i in num:if "\u4e00" <= i <= "\u9fff":#是中文就pass掉passelse:#不是中文就添加jg += i
    #返回:"python,java"
    print(jg)

列表

  • list_.remove()
  • .remove():函数可以删除列表中第一个指定的值。
  • list_ = list_[::-1]
  • 用索引反转列表
  • list_.insert(要插入的位置的索引,要插入的内容)
  • 向列表插入值
  • list_ = list_.pop()
  • 默认移除列表最后一个元素。
  • 如果提供索引,则移除指定索引的元素。

字典

  • 向字典插入值
  • 如:dict_[ "键" ] = "插入的值"

  • 提取字典的值
  • dict_.get("要提取值的键")
  • 字典的排序:sorted()函数
  • 如下:
  • my_dict = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}  
    sorted_dict_by_values = dict(sorted(my_dict.items(), key=lambda item: item[1]))  
    print(sorted_dict_by_values)  
    # 输出: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}
  • 倒叙排序:reverse=True

运算符

" // ":两数相除,向下取整,取两数相除后的整数部分。

如:3 // 2 结果为:1

       5 // 2 结果为:2

" % ":取模运算,两数相除后的余数

如:7 % 2 结果为:1

        3 % 2 结果为:1

  • pow(x,y,z)
  • 其中 x 是底数,y 是指数。这个函数返回 x 的 y 次幂
  • 其中 x 是底数,y 是指数,而 z 是模数。这个函数返回 (x**y) % z 的结果,即 x 的 y 次幂对 z 取模的结果。这种用法在计算大数的幂并对某个数取模时非常有用,因为它可以避免中间结果过大而导致的溢出问题。

正则表达式re库


  • re.search()
  • 在字符中找到第一次搜索出的正则表达式模式,若为找到则返回None。
  • re.findall("正则表达式" , 要匹配的字符串)
  • 在字符串中找到正则表达式所匹配的所有子串, 返回列表。
  • re.sub()
  • 正则表达式替换匹配的字符串

requests

发送请求

#传入url链接
url = "XXX"#向网站发送请求
#请求成功时状态为:200
resp = requests.get(url)#转换编码格式
#常用的编码格式:"utf-8","gbk"
resp.encoding = "utf-8"#将返回转换成文本
resp = resp.text

Beautiful Soup


将文本转换成Beautiful Soup的对象

soup = BeautifulSoup( 文本 ,"html.parser")


  • soup.find("标签" , 属性="xxx")
  • 匹配第一个符合条件的值。
  • ##注意匹配class属性时,要将"class"属性写成 "class_" 因为"class"时python的关键词。
  • soup.find_all("标签" , 属性="xxx")
  • 匹配所有符合条件的值。
  • 提取标签的属性
  • soup[ " title " ]

jieba库

分词模式

1.精确模式

  • 精确模式是将文本按照最大概率进行切分,效果较好。
  • 使用方法:jieba.cut(sentence),返回一个可迭代的分词结果。

2.全模式

  • 全模式将文本中所有可能的词语都切分出来,可能存在冗余。
  • 使用方法:jieba.cut(sentence, cut_all=True),返回一个可迭代的分词结果。

3.搜索引擎模式

  • 搜索引擎模式根据词语的位置进行切分,适合搜索引擎分词。
  • 使用方法:jieba.cut_for_search(sentence),返回一个可迭代的分词结果。

  • jieba.luct()
  • 这个函数回返回一个分词后的列表。

基于TF-IDF算法的关键词提取

  • jieba库提供了基于TF-IDF算法的关键词提取方法jieba.analyse.extract_tags(sentence, topK=10),用于从文本中提取关键词。
  • topK:参数指定返回的关键词数量,默认为10。

 基于TextRank算法的关键词提取

  • jieba库还提供了基于TextRank算法的关键词提取方法:
  • jieba.analyse.textrank(sentence, topK=10,withWeight=False, allowPOS=("ns", "n", "vn", "v"))
  • sentence:是要提取关键词的文本
  • topK:参数指定返回的关键词数量,默认为10。
  • withWeight:表示是否返回关键词的权重值(默认为False)
  • allowPOS:表示仅包括指定词性的词(默认为名词、动词等)

pandas 打开有多个表的.xlsx文件

  • df = pd.read_excel('path_to_excel_file.xlsx', sheet_name=None)
  • 设置sheet_name参数为None
  • 打开指定的表:df["表名"]
http://www.lryc.cn/news/466978.html

相关文章:

  • 1.DBeaver连接hive数据库
  • CODESYS随机动态图案验证码制作详细案例(三)
  • NodeJS 使用百度翻译API
  • 摩熵数科数据产品阵容BCPM
  • ros2 .idl文件生成C、C++代码
  • scrapy的xpath在控制台可以匹配,但是到了代码无法匹配(无法匹配tbody标签)
  • OpenCL内存模型
  • Commvault Cloud如何改变网络弹性游戏规则?
  • echarts环形饼图自定义边框、标题及图例
  • Android SELinux——上下文Context源码(十)
  • 责任链模式下,解决开闭原则问题实践
  • 对Android的Binder机制的了解
  • 收藏文章_VMware17Pro虚拟机安装教程(超详细)
  • 友思特分享 | 车载同步技术创新:多相机系统如何实现精准数据采集与实时处理?
  • grafana failed to load dashboard from file= ... json error=EOF
  • 【前端学习】AntV G6-09 复杂的自定义边、边动画
  • 极狐GitLab 发布安全补丁版本 17.4.2, 17.3.5, 17.2.9
  • MATLAB智能算法 - Immunity Algorithm免疫算法
  • 学习eNSP对提升就业竞争力有多大帮助?
  • Molmo和PixMo:为最先进的多模态模型提供开放权重和开放数据
  • day02_计算机常识丶第一个程序丶注释丶关键字丶标识符
  • 【Trick】IOS系统解决“未受信任的企业级开发者”问题
  • 理解 React 中的 ReactElement、children 和 ReactNode
  • 纯血鸿蒙正式登场,华为这新机给我看傻了
  • c语言中的%运算和/运算
  • 【MySQL】多表查询——内连接,左/右连接
  • Naicat连接本地CentOS 7虚拟机上的MySQL数据库失败解决办法
  • transforms.Normalize((0.4914, 0.4822, 0.4465), (0.2023, 0.1994, 0.2010)的计算过程
  • Excel表格如何修改“打开密码”,简单几步,轻松搞定
  • pandas 数据分析实战