保研考研机试攻略: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.mzph.cn/pingmian/58983.shtml

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

相关文章

qt QSplitter详解

1、概述 QSplitter是Qt框架中的一个布局管理器类&#xff0c;它允许用户在应用程序窗口中创建可拖动的分隔器&#xff0c;以便动态地调整多个子窗口或控件的大小。QSplitter非常适合用于分割、重新排列和管理用户界面中的多个区域&#xff0c;提供了一种直观且灵活的方式来控制…

mysql left join group_concat 主表丢失数据

问题出现的场景&#xff1a; 有一个主表 a&#xff0c;一个子表 b a表有两条数据&#xff0c;a表第一条数据在b表中有一条子数据&#xff0c;a表第二条数据在b表中有两条子数据。 现在想要查询出来a表的所有数据和a表的子表b的id&#xff0c;b的id 使用GROUP_CONCAT拼接 有…

深度学习在复杂系统中的应用

引言 复杂系统由多个相互作用的组成部分构成&#xff0c;这些部分之间的关系往往是非线性的&#xff0c;整体行为难以通过简单的线性组合来预测。这类系统广泛存在于生态学、气象学、经济学和社会科学等多个领域&#xff0c;具有动态演变、自组织、涌现现象以及多尺度与异质性…

Python爬虫的京东大冒险:如何高效获取商品详情的秘籍

在这个由代码编织的电商世界里&#xff0c;京东商品详情就像是被锁在高塔中的公主&#xff0c;等待着勇敢的Python爬虫骑士去解救。今天&#xff0c;我们要讲述的是如何成为一名Python爬虫骑士&#xff0c;携带你的代码长矛&#xff0c;穿梭在API的数据森林中&#xff0c;高效获…

服务器数据恢复—RAID5阵列中部分成员盘重组RAID5阵列后如何恢复原raid5阵列数据?

服务器数据恢复环境&#xff1a; 一台服务器挂接一台存储&#xff0c;该存储中有一组由5块硬盘组建的RAID5阵列。 服务器故障&#xff1a; 存储raid5阵列中有一块硬盘掉线。由于RAID5的特性&#xff0c;阵列并没有出现问题。工作一段时间后&#xff0c;服务器出现故障&#xff…

new/delete和malloc()/free()的区别及其使用

C系列----new/delete和malloc()/free()的区别 这篇文章我将深读刨析一下这二者的区别及其在使用过程中应该注意的事项 文章目录 C系列----new/delete和malloc()/free()的区别前言一、new/delete和malloc/free在操作自定义类型时的区别1.1、在属性和使用上的区别1.2、返回类型的…

我主编的电子技术实验手册(22)——RC并联电路

本专栏是笔者主编教材&#xff08;图0所示&#xff09;的电子版&#xff0c;依托简易的元器件和仪表安排了30多个实验&#xff0c;主要面向经费不太充足的中高职院校。每个实验都安排了必不可少的【预习知识】&#xff0c;精心设计的【实验步骤】&#xff0c;全面丰富的【思考习…

word mathml 创建粗体字母快捷键

在 mathml 中达到latex中 \mathbf{A} 的效果 由于word本身不支持这个命令&#xff0c;所以打算用快捷键实现 快捷键的功能是加粗光标前一个字目 1. Alt F8 打开宏&#xff0c;如果打不开可以尝试 Alt Fn F8 2. 输入 BoldPreviousCharacter 新建宏&#xff1a; Sub Bold…

开源 AI 智能名片 2 + 1 链动模式 S2B2C 商城小程序中积分使用价值的拓展策略

摘要&#xff1a;本文围绕开源 AI 智能名片 2 1 链动模式 S2B2C 商城小程序&#xff0c;深入探讨其积分使用价值的丰富策略。详细分析积分兑换礼品、会员升级、积分抵现等方式在该特定商城小程序环境下的应用特点、存在问题及对用户和商城的影响&#xff0c;旨在为商城的优化运…

Win10 连接到 Ubuntu 黑屏无法连接 使用Rustdesk显示 No Displays 没有显示器

Win10 连接到 Ubuntu 黑屏无法连接 使用Rustdesk显示 No Displays 没有显示器 解决办法安装虚拟显示器 安装xorg虚拟显示器 $ sudo apt install xserver-xorg-video-dummy # 提示错误依赖使用下面这个试试 $ sudo apt-get install xserver-xorg-video-dummy --fix-missing配…

Hadoop-002-部署并配置HDFS集群

集群规划 Hadoop HDFS的角色包含 NameNode(主节点管理者)、DataNode(从节点工作者)、SeconddaryNameNode(从节点辅助) 节点CPU内存hadoop-11C4Ghadoop-21C2Ghadoop-31C2G 一、下载上传Hadoop包 注意: 登录hadoop-1节点root用户执行 1、官网下载安装包后上传 到hadoop-1服务…

BOOST库配置到VS2022详细操作步骤和可能出现的错误解决方法

文章目录 BOOST库配置上述的细节操作出现的错误错误1错误2 其余内容 BOOST库配置 配置过程见BOOST库配置到VS2022&#xff08;保姆级教程&#xff09;主要借鉴 C/C Windows环境下 boost 安装使用教程【学习笔记】 Boost库各个版本下载地址 上述的细节操作 第一点 我的操作步…

css实现边框双色凹凸半圆

整体效果如下图&#xff1a; 结构代码&#xff1a; <div classline-outside-wrap><div classwrap><img src../img/avatar2x.png/><div classcontent-wrap></div></div></div> 内凹框实现&#xff1a; .content-wrap{width:100%;he…

字符串统计(Python)

接收键盘任意录入&#xff0c;分别统计大小写字母、数字及其它字符数量&#xff0c;打印输出。 (笔记模板由python脚本于2024年11月02日 08:23:31创建&#xff0c;本篇笔记适合熟悉python字符串并懂得基本编程技法的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xf…

[代码随想录打卡]Day2:209.长度最小的子数组 59.螺旋矩阵II 区间和 开发商购买土地 总结

双指针&#xff1a;快慢指针、对撞指针、滑动窗口。相关博客&#xff1a;双指针算法详解&#xff08;快慢指针、对撞指针、滑动窗口&#xff09; 209.长度最小的子数组 题目&#xff1a;给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于…

Vue3的router和Vuex的学习笔记整理

一、路由的基本搭建 1、安装 npm install vue-router --registryhttps://registry.npmmirror.com 2、配置路由模块 第一步&#xff1a;src/router/index.js创建文件 第二步&#xff1a;在src/view下面创建两个vue文件&#xff0c;一个叫Home.vue和About.vue 第三步&#x…

探索React源码:React Diff

本篇文章我们来了解一下Diff算法的实现过程。 相关概念 React中的各种节点 假设当前存在一个DOM节点&#xff0c;触发了一次更新&#xff0c;那么在协调的过程中&#xff0c;会有四种节点和该节点相关联&#xff1a; 该DOM节点本身。 workInProgress fiber&#xff0c;更新过程…

安装fpm,解决*.deb=> *.rpm

要从生成 .deb 包转换为 .rpm 包&#xff0c;可以按照以下步骤修改打包脚本 1. 使用 fpm 工具 fpm 是一个强大的跨平台打包工具&#xff0c;可以将 .deb 包重新打包成 .rpm&#xff0c;也可以直接从源文件打包成 .rpm。 安装 fpm sudo apt-get install ruby-dev sudo gem in…

【stm32】RTC时钟的介绍与使用

RTC时钟的介绍与使用 一、时间戳1、Unix时间戳2、UTC/GMT3、时间戳转换 二、BKP简介及代码编写1、BKP简介2、BKP基本结构3、BKP库函数介绍&#xff1a;4、程序编写&#xff1a; 三、RTC简介及代码编写1、RTC简介2、RTC框图2、RTC基本结构3、RTC相关库函数介绍&#xff1a;4、程…

深入理解Transformer中的位置编码

1 位置编码的作用 由于注意力的作用机制&#xff0c;不论输入序列的顺序如何&#xff0c;输出结果都是一样的。 也就是丢失了位置信息。 但是对于语言模型&#xff0c; 我们都知道顺序是很重要的&#xff0c; 所以需要对输入序列额外注入位置信息。 2 位置编码方式 Transfor…