首页 > 编程语言 >Python 快速刷题 技巧 | 知识点速览(持续更新)

Python 快速刷题 技巧 | 知识点速览(持续更新)

时间:2023-09-23 17:34:50浏览次数:47  
标签:__ 知识点 10 Python 元素 int key 速览 print

Python 快速刷题

目录

目录

背景

Background背景: 本人在做企业笔试题的时候,有些企业的笔试不让使用Go语言,在C、C++、JAVA、Python中,Python的能够快速上手!所以将Python语言作为第二种刷题语言,并总结以下基础知识,便于做题的查询。

Python3 教程 | 菜鸟教程 (runoob.com)

Tips

在单页面无ide的情况下,如果查找函数名字

print(dir(dict))#显示所有dict字典类型的函数名
#['__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__ior__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__ror__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
print(help(dict.get))
'''
Help on method_descriptor:
get(self, key, default=None, /)
    Return the value for key if key is in the dictionary, else default.
None
'''

python基础知识

1.输入

# input(prompt), input函数中可以放一些输入的提示语句prompt
# 默认读取是字符串,如果是非字符串,需要进行转换
#将input读取的字符串转化内int类型,input默认读取一行
a = int(input())
# 一行读取两个int类型,以空格间隔
n, m = map(int, input().split())
# 一行读取多个int类型的值,并转换为为list
l = list(map(int, input().split()))

2. 输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

print("a",end="")

# 简单拼接输出
print("name is",name)

# 指定分隔符
print("1","2","3",sep="-")

# 指定结尾
print("Hello", end=" world!")

# 格式化输出,采用%或者format()函数,以及f函数
print("%s is %.4f"%("ten",10)) 		 # ten is 10
print("{0} is {1}".format("ten",10)) # ten is 10

#此处注意f字符中,嵌套在 f 字符串中的字符串不能使用与 Python 3.12 之前的 f 字符串相同的引号字符,也就是{}中的变量不能为“ten”,只能为不同符号的'ten'
print(f"{'ten'} is {10}")

# ASCII码 转化输出
print(ord('a'),chr(65)) #输出97 A

# 打印输出到文件
# r后面跟着的路径,不会因为’\‘转生转义,比如"\n"正常表示回车
# 'a+'添加的模式存入文件n.txt,若文件不存在则创建新文件
fp = open(r"C:\n.txt",'a+') 

List实用输出

# 实用!! 
# 打印result列表中的元素,并以','逗号分隔,这样最后一个元素后面是没有逗号的!
result = [1,2,3,4]
print(",".join(str(x) for x in result)) # 输出: 1,2,3,4

3. 基本数据类型

  • Number(数字) 不可变
  • String(字符串)不可变
  • bool(布尔类型)可变
  • List(列表) 可变
  • Tuple(元组)不可变
  • Set(集合)可变
  • Dictionary(字典)可变

算术运算符

0b101为二进制5,0o5为八进制5,0x5为16进制5

进制转化:

#将字符串,以16进制解析,转换成10进制数
int("2a",16) # 2*16+10=42
bin(3) # 将3转换为二进制0b11,输出为str
oct(11) # 将11转换为八进制0o13,输出为str
hex(11) # 将11转换为十六进制0xb,输出为str
int(0b101) # 二进制转化为10进制
int(0o5) # 八进制转化为10进制
int(0x5) # 十六进制转化为10进制,因为0x5是int类型,直接转
int(bin(3),2) # 因为bin输出是str,所以要指定进制数为2去解析str,继而转换为int
  1. 幂次**
a = 2**3 # 2^3=8
  1. 科学技术
#同Go语言
b = 2e3 #2*10^3
b = 2E3 #2*10^3
  1. 向下取整 //
c = 9//2 #4
  1. 右移 >>左移<<
# 同Go语言
d = 9>>1 # 二进制0b1001 >> 1 = 0b100 = 4
#>>1等价于,向下整除2,同python中//
e = 1<<2 # 0b001 << 2 = 0b100 = 4
# 相当于1乘二的2次方数,即1*(2**2)=4
  1. 位运算&|^~
# 同Go语言
3&5 #0b011 & 0b101 = 0b001 = 1
3|5 #0b011 | 0b101 = 0b111 = 7
3^5 #0b011 ^ 0b101 = 0b110 = 6
~5  # ~ 0b101 = -0b110 = -6
# go语言中,取反是 ^5 =-6
  1. 链式比较
x = 3
1<x<5 # true

List列表

类似于go里面slice切片

# 声明
l = []
l = set([])
# 添加元素
l.append(1)
l.insert(0,1)#在索引0的位置插入1,原函数索引0以及后面的元素后移
a = l.copy() # 复制列表
# 删除元素
del l[0]
l.remove(1) #删除1这个元素
l.pop([index=-1])#默认移除列表最后一个元素
l.clear() # 删除整个列表元素
#长度
len(l)
# 组合
[1,2,3]+[4,5] # [1,2,3,4,5]
[1]*2 # [1,1]
# 查询
l.index(1) # 返回1元素的第一个的位置,其中1必须是列表l中的元素,否则使用下面的判断
2 in [1,2,3] # True
# 读取
l[-1] # list元素最后一个
# 最大值,最小值,求和
max(l),min(l),sum(l)
#在l数组中计数
l.count(2)
#排序
l.sort() #原列表l进行排序
a = sorted(l) # 返回排序后的列表,原列表不受影响
l.reverse() # 倒序
# 遍历
l = [1,2] 	# list
for x in l: print(x)
for i, item in enumerate(l):
	print i, item

# 截取-深拷贝
l = [1,2,3,4]
a = l[1:3] #2,3
a[0] = 5
print(l,a) #[1, 2, 3, 4] [5, 3]

# 比较
import operator
l1 = [1,2,3,4]
l2 = [2,3,4,5]
print(operator.eq(l1,l2)) # False

Set集合

s = set()# 创建空的set
s.add("a")# 添加单个元素
s.update("abcde")#将元素拆个单个字符添加入集合中
s.remove("a") #删除元素,若不存在元素“a",则报错
s.discard("a")#删除元素,若不存在,则啥事不干
s.pop() # 随机删除一个元素,若为空,则报错
s.clear()#清空集合

s = {1,2} 	# set 集合内不存在重合元素
for i, item in enumerate(l):
	print i, item
    
# 没有sort函数,默认已经sort
a = [9,8,7,6,2,2,1]
print(set(a)) # {1,2,6,7,8,9}

# 集合操作
s1 = {1,2,3,4,5}
s2 = {4,5,6,7,8}
# 交集,以下不修改原集合,返回新集合
print(s1&s2) #{4,5}
print(s1.intersection(s2)) #{4,5}
# 差集,以下不修改原集合,返回新集合
print(s1-s2)#{1,2,3}
print(s1.difference(s2))#{1,2,3}
#并集,以下不修改原集合,返回新集合
print(s1|s2)#{1, 2, 3, 4, 5, 6, 7, 8}
print(s1.union(list(s2)))#{1, 2, 3, 4, 5, 6, 7, 8}

# 集合对比>,>=,<,<=,==,!= 子集含包关系
s1=set([1, 2, 3, 4, 5])
s2=set([1, 2, 3, 4])
print(s1>s2)#True
print(s2>s1)#True
print(s1!=S2)#True

# 不可变集合frozenset,不可修改,其他同set
f = frozenset('asdf')#frozenset(['a', 's', 'd', 'f'])

Tuple元组

t = (1,"2") # tuple
for i, item in enumerate(l):
	print i, item

Dict 字典

类似于Go语言里面的map

# 初始化
d = set({})
#添加元素
d[1]=1
d[key]=value
#删除元素
del d[key] # 删除指定键值对
d.pop(key)# 删除并返回指定键值对的
d.popitem()#删除并返回最后一对键值对
d.clear() #删所有键值对
#获取元素值
d.get(1) # 若存在则返回等同于d[1],否则返回None
#浅拷贝
d1 = d.copy()
#深拷贝
d1 = d.deepcopy()

# 获取dict中的key
d = {1:"a",2:"b",3:"c"}
a = list(d.keys()) # "1","2","3"

# 获取dict中的value
d = {1:"a",2:"b",3:"c"}
a = list(d.values()) # "a","b","c"

# 遍历
d = {1:"a",2:"b",3:"c"}
for a,b in d.items():
	print(a,b)
    
# 按key排序排序
l = {3:"a",1:"b",2:"c",4:"d"}
[l[key] for key in sorted(list(l.keys()))] # ["b","c","a","d"]

标签:__,知识点,10,Python,元素,int,key,速览,print
From: https://www.cnblogs.com/auspice/p/17724750.html

相关文章

  • Python多进程
    一、multiprocessing模块提供了一个创建进程的类Process,其创建进程有两种方法:1、创建一个Process类的实例,并指定目任务函数:示例代码:1frommultiprocessingimportProcess2importos3importtime45deftask_process(delay):6num=07foriinrang......
  • 【十分钟一个知识点】进制
    本周我们将介绍二进制、八进制、十六进制(当然还有十进制)进位计数制将数字符号按序排列成数位,并遵照某种由低位到高位的进位方式计数表示数值的方法,称作进位计数制。十进制D先来复习一下,我们从小学到大的十进制十进制计数制由0、1、2、3、4、5、6、7、8、9共10个数字......
  • 如何使用python进行pdf文件分割
    1.安装PyPDF2包pipinstallPyPDF2然后importPyPDF22.在PyPDF2库中,可以使用以下代码打开PDF文件:pdf_file=open('filename.pdf','rb')pdf_reader=PyPDF2.PdfFileReader(pdf_file)total_pages=pdf_reader.numPages3.下面代码将每一页分开fromPyPDF2impo......
  • python
    #扫描文件importosdefsaomiao(wenjian):foriinos.listdir(wenjian):i1=os.path.join(wenjian,i)ifos.path.isfile(i1):print(os.path.abspath(i1))elifos.path.isdir(i1):saomiao(i1)else:passs......
  • python打地鼠游戏一(随机数,时间)
    #打地鼠#地鼠出现的位置importrandomimporttime#得分score=0ifscore==0:game_time=10#定义时间限制print(f'欢迎来到打地鼠游戏,您有{game_time}秒时间打中地鼠')star_time=time.time()#开始时间end_time=star_time+game_timewhiletime.tim......
  • python基础(格式化字符,if分支语句)
    python格式化格式符号%%输出%%s字符串%d有符号十进制整数%f浮点型%c字符%u无符号十进制整数进制转换bin()2进制oct()8进制int()十进制//int(‘0o111’,8)hex()16进制2进制0b8进制0o16进制0xabs绝对值判断语句if....else猜数字小游戏......
  • python 循环 import模块
    关于循环while条件:当条件为true时,不断执行子代码foriinrange(20):循环20次子代码break结束当前循环continue跳过当前循环importrandom模块random.choice()随机一个参数random.sample(数据源,3)从数据源中随机抽3个值random.randint(1,100)打印一个随机数......
  • 安装python3.8.5
    1本地下载并上传到服务器https://www.python.org/downloads/source/2 mkdir-p/usr/local/python33 yum-yinstallgcczlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devellibff......
  • 在Python中创建相关系数矩阵的6种方法
    相关系数矩阵(Correlationmatrix)是数据分析的基本工具。它们让我们了解不同的变量是如何相互关联的。在Python中,有很多个方法可以计算相关系数矩阵,今天我们来对这些方法进行一个总结PandasPandas的DataFrame对象可以使用corr方法直接创建相关矩阵。由于数据科学领域的大多数人都......
  • python08
    2.3ftext=f"我喜欢{"跑步"},跑完之后满头大汗"action="跑步"text=f"我喜欢{action},跑完之后满头大汗"name="张云嘉"age=18text="我的名字叫{name},今年{age}岁"print(text)3.1运算符优先级算数优先级大于比较优先级if2+10>11:比较优......