保研考研机试攻略:python笔记(2)

🐨🐨🐨宝子们好呀,今天我们继续来学习N诺提供的python笔记,fighting!( •̀ ω •́ )✧

对这个系列感兴趣的宝子欢迎关注保研考研机试攻略专栏哦 ~

目录

🐨🐨🐨4进制转换

🐼x进制转十进制

🐼十进制转x进制

🐨🐨🐨5python逆序

🐼逆序通常方法

🐼reverse用法

🐨🐨🐨6负进制转换方法

🐨🐨🐨7初始化长度为N的字符串

🐨🐨🐨8datatime类使用

🐼创建日期对象

🐼strftime()方法

🐼 时间差——datetime.timedelta类

🐼 字符串与datatime类型互转 

🐶1.datetime对象转换成字符串

🐶2.字符串转换成datetime对象

🐨🐨🐨9字符串只读不写

🐨🐨🐨10字典类

🐼字典排序

🐶根据字典的key排序

🐶根据字典的value值排序

🐼元组创建字典

🐼setdefault使用

🐼字典删除元素

🐼set使用

🐶判断set值是否存在

🐶set 集合中添加元素

🐶set集合中删除元素

🐼set集合做交集、并集、差集运算


🐨🐨🐨4进制转换

🐼x进制转十进制

a = input()#字符串 
print(int(a,x))

🐼十进制转x进制

将十进制decimal system转换成二进制binary system

print(bin(10))
'{0:b}'.format(10)

将十进制decimal system转换成八进制Octal

print(oct(10))
'{:o}'.format(10)

将十进制decimal system转换成十六进制Hexadecimal

print(hex(10))
'{:x}'.format(10)

🐨🐨🐨5python逆序

🐼逆序通常方法

x[::-1]#x可为string or list

🐼reverse用法

# reverse 只对list作用,对string无效
x = ['1','2','3'] 
x.reverse()
x #输出['3','2','1']#reversed返回list逆序的迭代器
[a for a in reversed(x)]#输出['1','2','3'],x为list

🐨🐨🐨6负进制转换方法

方法与二进制一致

def baseNeg2(N): res = ''while N:# N, k = -(N // 2), N % 2N, k = -(N >> 1), N % 2 #此处相比正进制多了负号,因为存在奇偶正负问题 res = str(k) + resreturn res if res else '0'

🐨🐨🐨7初始化长度为N的字符串

print(3*"1")
#"333"

🐨🐨🐨8datatime类使用

🐼创建日期对象

如需创建日期,我们可以使用 datetime 模块的 datetime() 类(构造函数)。 datetime() 类需要三个参数来创建日期:年、月、日。

datatime对象间可以相加减,比较大小。

但对于时间信号,利用字符串比大小机制也能得出结果:

'2007-02-17 19:22:53,315'>'2007-01-27 19:22:53,315'# True
datetime.datetime(2007, 2, 17, 19, 22, 53, 315000)>datetime.datetime(2007, 1, 27, 19, 22, 53, 315000)# True

实例:创建日期对象

import datetime
x = datetime.datetime(2020, 5, 17) 
print(x)#2020-05-17 00:00:00

🐼strftime()方法

datetime 对象拥有把日期对象格式化为可读字符串的方法。

该方法称为 strftime() ,并使用一个 format 参数来指定返回字符串的格式:

实例:显示月份的名称

import datetimex = datetime.datetime(2019, 10, 1)print(x.strftime("%B"))#October
from datetime import datetimedate_string = "1 October, 2020"
print("date_string =", date_string)date_object = datetime.strptime(date_string, "%d %B, %Y") 
print("date_object =", date_object)

🐼 时间差——datetime.timedelta类

from datetime import datetime, datet1 = date(year = 2018, month = 7, day = 12)  
t2 = date(year = 2017, month = 12, day = 23) 
t3 = t1 - t2
print("t3 =", t3)# t3 = 201 days, 0:00:00 
print(t3.days) # 201t4 = datetime(year = 2018, month = 7, day = 12, hour = 7, minute = 9, second = 33)
t5 = datetime(year = 2019, month = 6, day = 10, hour = 5, minute = 55, second = 13)
t6 = t4 - t5
print("t6 =", t6)# t6 = -333 days, 1:14:20print("type of t3 =", type(t3)) # type of t3 = <class 'datetime.timedelta'> 
print("type of t6 =", type(t6)) # type of t6 = <class 'datetime.timedelta'>data_a = datetime.datetime(2022,1,1)
data_b = data_a+datetime.timedelta(days=61)# timedelta可用于datatime的计算
print("{:d}-{:02d}-{:02d}".format(data_b.year,data_b.month,data_b.day))# 2022- 03-02

🐼 字符串与datatime类型互转 

🐶1.datetime对象转换成字符串

利用str或者strftime方法可以将datetime对象转换成字符串

from datetime import datetime # 导入datetime模块
stamp = datetime(2017, 10, 7) # 生成一个datetime对象 
str(stamp) # 转换  #结果显示: '2017-10-07 00:00:00'

🐶2.字符串转换成datetime对象

datetime.strptime可以用这些格式化编码将字符串转换成日期

from datetime import datetime 
value = '2017/10/7'
datetime.strptime(value, '%Y/%m/%d')
#datetime.datetime(2017, 10, 7, 0, 0)

🐨🐨🐨9字符串只读不写

Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符。

直接修改会报错: 'str'object does not support item assignment

#报错
#s = '312141' 
#s[0] = '0'#正确方法
s = '312141'
t = list(s)
t[0] = '0'
s = ''.join(t)

🐨🐨🐨10字典类

🐼字典排序

🐶根据字典的key排序

#  单独打印出排序后的key值
new_sys = sorted(sys) 
print(new_sys)new_sys = sorted(sys.keys()) 
print(new_sys)#对于set可直接sorted就行
a ={'3', '2', '2', '1', '5'}
print(a)#{'2', '1', '5', '3'}
sorted(a)# ['1', '2', '3', '5']# 根据key的升序排列,把key value都打印出来
new_sys1 = sorted(sys.items(), key=lambda d: d[0], reverse=False) 
print(new_sys1)#python sorted自带稳定排序
new_sys1 = sorted(sys.items(), reverse=False) 
print(new_sys1)'''
['age', 'gender', 'name'] 
['age', 'gender', 'name']
[('age', '十八 '), ('gender', 'man'), ('name', '张三 ')] 
[('age', '十八 '), ('gender', 'man'), ('name', '张三 ')]
'''

🐶根据字典的value值排序

# 单独打印出排序后的value值
new_sys1 = sorted(sys.values()) 
print(new_sys1)# 打印出根据value排序后的键值对的具体值
new_sys2 = sorted(sys.items(),  key=lambda d: d[1], reverse=False)
print(new_sys2)
'''
['man', '十八 ', '张三 ']
[('gender', 'man'), ('age', '十八 '), ('name', '张三 ')]
'''

🐼元组创建字典

dict.fromkeys

#!/usr/bin/python
# -*- coding: UTF-8 -*-seq = ('Google', 'Runoob', 'Taobao')# 不指定默认的键值,默认为 None
thisdict = dict.fromkeys(seq)
print ("新字典为 : %s" %  str(thisdict))# 指定默认的键值
thisdict = dict.fromkeys(seq, 10)
print ("新字典为 : %s" %  str(thisdict)

🐼setdefault使用

用法:给定一组(key val)和一个字典dict dict.setdefault(key,val)dict内含有key,则返回对于 key的值,否则加入新的(key val

word = 'abc'
for i in word:tree = tree.setdefault(i, {})
# tree 值一直为{}

🐼字典删除元素

pop() 删除字典给定键key所对应的值, 返回被删除的值

dict = {'name': 'jesse', 'age': 18, 'sex': 'male'} 
name = dict.pop('name')  #
print(name)  # 

🐼set使用

set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

🐶判断set值是否存在

a={1,2,3}
print(4 in a)#False

🐶set 集合中添加元素

使用 set 类型提供的 add() 方法实现

使用 add() 方法添加的元素,只能是数字、字符串、元组或者布尔类型(True False)值,不能添加列表、字典、集合这类可变的数据,否则 Python 解释器会报 TypeError 错误。例如:

a = {1,2,3}  
a.add((1,2)) 
print(a)
a.add([1,2]) 
print(a)

运行结果:

{(1, 2), 1, 2, 3}
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\1.py", line 4, in <module>
a.add([1,2])
TypeError: unhashable type: 'list'

🐶set集合中删除元素

使用 remove() 方法 discard() 方法

需要注意的是,使用remove() 如果被删除元素本就不包含在集合中,则此方法会抛出 KeyError 错误, 例如:

a = {1,2,3} 
a.remove(1) 
print(a)
a.remove(1) 
print(a)
#a.discard(1) 此方法不会抛出异常 
#print(a)

运行结果:

{2, 3}
Traceback (most recent call last):File "C:\Users\mengma\Desktop\1.py", line 4, in <module>a.remove(1) 
KeyError: 1

🐼set集合做交集、并集、差集运算

集合最常做的操作就是进行交集、并集、差集以及对称差集运算。

上图有 2 个集合,分别为 set1={1,2,3} set2={3,4,5},它们既有相同的元素,也有不同的元素。以这 两个集合为例,分别做不同运算的结果如表所示。

运算操

Python 算符

含义

例子

交集

&

取两集合公共的元素

>>> set1 & set2 {3}

并集

|

取两集合全部的元素

>>> set1 | set2 {1,2,3,4,5}

差集

-

取一个集合中另一集合没有的 元素

>>> set1 - set2 {1,2} >>> set2 - set1 {4,5}

对称差

^

取集合 A B 中不属于 A&B 的元素

>>> set1 ^ set2 {1,2,4,5}

好啦,今天我们先学到这里,学完的同学们都太棒了,我们下一篇见 ~ 👋👋👋

有什么问题我们随时评论区见哦 ~ 🌹🌹🌹
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/463514.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hyper-V 安装 KylinOS V10【图文教程】

文章目录 下载 KylinOSHyper-V 安装 KylinOS新建虚拟机配置虚拟机启动虚拟机并配置下载 KylinOS KylinOS 没有直接提供下载地址,需要在页面上点试用,填写个人信息后,才能看到下载地址。 https://www.kylinos.cn/support/trial.html?trial=425887 试用地址:产品试用申请国…

LeetCode 0685.冗余连接 II:并查集(和I有何不同分析)——详细题解(附图)

【LetMeFly】685.冗余连接 II&#xff1a;并查集&#xff08;和I有何不同分析&#xff09;——详细题解(附图) 力扣题目链接&#xff1a;https://leetcode.cn/problems/redundant-connection-ii/ 在本问题中&#xff0c;有根树指满足以下条件的 有向 图。该树只有一个根节点&…

mysql查表相关练习

作业要求&#xff1a; 单表练习&#xff1a; 1 . 查询出部门编号为 D2019060011 的所有员工 2 . 所有财务总监的姓名、编号和部门编号。 3 . 找出奖金高于工资的员工。 4 . 找出奖金高于工资 40% 的员工。 5 找出部门编号为 D2019090011 中所有财务总监&#xff0c;和…

GHuNeRF: Generalizable Human NeRF from a Monocular Video

研究背景 研究问题&#xff1a;这篇文章要解决的问题是学习一个从单目视频中泛化的人类NeRF模型。尽管现有的泛化人类NeRF已经取得了令人印象深刻的成果&#xff0c;但它们需要多视图图像或视频&#xff0c;这在某些情况下可能不可用。此外&#xff0c;一些基于单目视频的人类…

Linux - grep的正则用法

新建u.txt&#xff0c;文本内容如图&#xff1a; 搜寻特定字符串 利用中括号[]搜寻集合字符 行首与行位字符^$ 任意一个字符.与重复字符*限定连续RE字符范围{} 总结:

项目模块十五:HttpResponse模块

一、模块设计思路 存储HTTP应答要素&#xff0c;提供简单接口 二、成员变量 int _status; // 应答状态码 unordered_map<string, string> _headers; // 报头字段 string _body; // 应答正文 bool _redirect_flag; // 是否重定向信息 stri…

从零开始的c++之旅——继承

1. 继承 1.继承概念及定义 继承是面向对象编程的三大特点之一&#xff0c;它使得我们可以在原有类特性的基础之上&#xff0c;增加方法 和属性&#xff0c;这样产生的新的类&#xff0c;称为派生类。 继承 呈现了⾯向对象程序设计的层次结构&#xff0c;以前我们接触的…

6.1、实验一:静态路由

源文件获取&#xff1a;6.1_实验一&#xff1a;静态路由.pkt: https://url02.ctfile.com/f/61945102-1420248902-c5a99e?p2707 (访问密码: 2707) 一、目的 理解路由表的概念 会使用基础命令 根据需求正确配置静态路由 二、准备实验 1.实验要求 让PC0、PC1、PC2三台电脑…

logback日志级别动态切换四种方案

生产环境中经常有需要动态修改日志级别。 现在就介绍几种方案 方案一&#xff1a;开启logback的自动扫描更新 配置如下 <?xml version"1.0" encoding"UTF-8"?> <configuration scan"true" scanPeriod"60 seconds" debug…

Qt字符编码

目前字符编码有以下几种&#xff1a; 1、UTF-8 UTF-8编码是Unicode字符集的一种编码方式(CEF)&#xff0c;其特点是使用变长字节数(即变长码元序列、变宽码元序列)来编码。一般是1到4个字节&#xff0c;当然&#xff0c;也可以更长。 2、UTF-16 UTF-16是Unicode字符编码五层次…

postman 获取登录接口中的返回token并设置为环境变量的方法 postman script

postman是一个比较方便的API开发调试工具&#xff0c; 我们在访问API时一般都需要设置一个token来对服务进行认证&#xff0c; 这个token一般都是通过登录接口来获取。 这个postman脚本放到登录接口的sctipt--> post-response里面即可将登陆接口中返回的token值设置到postma…

使用Django REST framework构建RESTful API

使用Django REST framework构建RESTful API Django REST framework简介 安装Django REST framework 创建Django项目 创建Django应用 配置Django项目 创建模型 迁移数据库 创建序列化器 创建视图 配置URL 配置全局URL 配置认证和权限 测试API 使用Postman测试API 分页 过滤和排序…

消息队列面试——打破沙锅问到底

消息队列的面试连环炮 前言 你用过消息队列么&#xff1f;说说你们项目里是怎么用消息队列的&#xff1f; 我们有一个订单系统&#xff0c;订单系统会每次下一个新订单的时候&#xff0c;就会发送一条消息到ActiveMQ里面去&#xff0c;后台有一个库存系统&#xff0c;负责获取…

Rust 力扣 - 1493. 删掉一个元素以后全为 1 的最长子数组

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 本题我们能转换成求只包含一个0的子数组的最长长度 如果数组中不存在0&#xff0c;则结果为数组长度减一 我们使用一个left指针指向子数组的左边界&#xff0c;然后我们遍历子数组的右边界&#xff0c;我们记录…

在 Windows 系统上,在两台机器上测试 MySQL 集群实现实时备份的基本步骤:

在两台机器上测试 MySQL 集群实现实时备份的基本步骤&#xff1a; 一、环境准备 机器配置 确保两台机器&#xff08;假设为服务器 A 和服务器 B&#xff09;能够互相通信&#xff0c;例如它们在同一个局域网内&#xff0c;并且开放了 MySQL 通信所需的端口&#xff08;默认是 3…

常见的开源软件许可证及其应用案例

目录 引言 开源的定义 开源许可证的种类 常见的开源许可证及其应用案例 结论 引言 开源软件在过去几十年中迅速发展&#xff0c;已经成为软件开发的重要组成部分。开源不仅仅是一种技术模式&#xff0c;更是一种文化和社区精神。本文将详细介绍开源的定义、开源许可证的种…

校招回顾 | “青春不散场,梦想正起航”,极限科技(INFINI Labs)亮相湖北工业大学 2025 秋季校园招聘会

10 月 31 日&#xff0c;极限科技&#xff08;INFINI Labs&#xff09; 受邀参加 湖北工业大学 2025 届秋季校园招聘会&#xff0c;这不仅是一次与满怀激情的青年学子们的深度碰撞&#xff0c;更是一场关于青春与未来的美好邂逅。让我们一起回顾校招现场的精彩瞬间&#xff0c;…

基于python的机器学习(一)—— 基础知识(Scikit-learn安装)

目录 一、机器学习基础 1.1 机器学习概述 1.2 监督学习、无监督学习和强化学习 1.3 聚类、分类、回归、标注 1.3.1 聚类 1.3.2 分类 1.3.3 回归 1.3.4 标注 1.4 机器学习、人工智能和数据挖掘 1.5 机器学习的三个要素 二、Scikit-learn 机器学习库 2.1 Scikit-lea…

第五篇: 使用Python和BigQuery进行电商数据分析与可视化

使用Python和BigQuery进行电商数据分析与可视化 大数据分析对于电商业务的洞察至关重要。在这篇文章中&#xff0c;我们将使用Python结合Google BigQuery来分析电商数据集&#xff0c;以最畅销商品和平均订单价格最高的前10位客户为主题&#xff0c;展示如何通过数据可视化提供…

基于SpringBoot+Vue的快递物流信息查询系统设计与实现【前后端分离】

基于SpringBootVue的快递物流信息查询系统设计与实现 摘要 随着电子商务的快速发展&#xff0c;快递物流系统的重要性愈发突出。针对用户对快递信息的实时查询需求&#xff0c;本系统结合Spring Boot和Vue技术&#xff0c;设计并实现了一个高效、易用的快递物流信息查询系统。系…