[赛码网、牛客刷题、ACM模式] python读取输入

文章目录

内容描述

在一些面试或笔试过程中,可能会遇到需要自己写读取输入,习惯了力扣刷题的话,会有些不习惯,面试过程中就非常麻烦了。

今天刚好有一位朋友遇到该问题,所以就总结一下。其实非常简单!

读取输入

我最喜欢的就是直接使用input()函数,下面简单介绍一下input()函数

(1)input()函数每次读取一行,并且是按照顺序读取

意思就是:如果输入有5行,第一个input()就读取第一行,第二个input()就读取第2行,依次类推;

(2)输出的是字符串类型;

示例:

常看见如下介绍:

输入一个M*N的矩阵,其中,第一行输入两个数字M,N,中间用空格隔开,接下来的M行,表示矩阵每行的数据,每行中共有N个数字,中间用空格隔开。如下所示:

2 3

1 2 3

4 5 6

表述输入的是一个2行3列的矩阵

好,那现在我们需要怎样读取这个矩阵呢?代码如下:

复制代码
M,N = map(int, input().split()) 		# 读取第一行,并使用并使用map将input()输出的字符串转换成int型的元组
matrix = []
for i in range(M):
	tmp = list(map(int, input().split()))	# 按照顺序读取矩阵的M行数据,并转换成list
	matrix.append(tmp)

以上就是python读取输入的精华,只要理解了上面这个示例,基本上就能应付笔试面试的输入问题了。

------来自经历过数十场笔试面试的菜鸡的经验之谈

常用的字符串、列表处理手段

借鉴于:添加链接描述

并在此基础上增添了一些和添加了一些注释

字符串常用操作

复制代码
s[::-1]							# 将字符串s逆置
.strip() 							# 去除首位空格
.split()  						# 按空格分割,无论中间有几个空格都进行分割
.split(" ")						# 按空格分割,与split()不同是,只按单个空格分割
.strip().strip('-a')			# 去除首位空格和字符'-a'
.replace('a','b') 			# 替换字符
S[:3]、S[5:] 、S[5:7]	#(前3、第5之后、5到7)拼接字符串,去除某个字符
.index(str,beg,end)  	# 返回开始索引或异常
.find(str,beg,end) 		# 返回开始索引或-1

需要特别注意的是:split() 与.split(" ")

复制代码
s = "  the sky  is blue"
list_s = s.split()	# 此时list_s = ["the", "sky", "is", "blue"],因为它是按连续空格切分的,无论中间有多少空格,都进行切分
list_s = s.split(" ")	# 此时list_s = [" the", "sky", " is", "blue"],其中the和is前面都有一个空格,这是因为.split(" "),是按单个空格进行切分的,所以如果有连续空格,多余的空格就会和临近的字符串合并

列表

复制代码
.remove(具体内容) 
.pop(索引号)    
del a[索引号]

自此,完结!

相关推荐
没有梦想的咸鱼185-1037-16639 分钟前
基于R语言机器学习方法在生态经济学领域中的实践技术应用
开发语言·机器学习·数据分析·r语言
2401_8288906411 分钟前
使用 BERT 实现意图理解和实体识别
人工智能·python·自然语言处理·bert·transformer
向上的车轮33 分钟前
基于go语言的云原生TodoList Demo 项目,验证云原生核心特性
开发语言·云原生·golang
The Chosen One98535 分钟前
C++ : AVL树-详解
开发语言·c++
PH_modest1 小时前
【Qt跬步积累】—— 初识Qt
开发语言·qt
怀旧,1 小时前
【C++】18. 红⿊树实现
开发语言·c++
多恩Stone1 小时前
【3DV 进阶-2】Hunyuan3D2.1 训练代码详细理解下-数据读取流程
人工智能·python·算法·3d·aigc
xiaopengbc2 小时前
在 Python 中实现观察者模式的具体步骤是什么?
开发语言·python·观察者模式
Python大数据分析@2 小时前
python用selenium怎么规避检测?
开发语言·python·selenium·网络爬虫