[赛码网、牛客刷题、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[索引号]

自此,完结!

相关推荐
于先生吖几秒前
基于 Java 开发短剧系统:完整架构与核心功能实现
java·开发语言·架构
WangYaolove13141 分钟前
基于循环神经网络的情感分类(源码+文档)
python·mysql·django·毕业设计·源码
badhope2 分钟前
GitHub超有用项目推荐:skill仓库--用技能树打造AI超频引擎
java·开发语言·前端·人工智能·python·重构·github
海边的梦2 分钟前
救命!此电脑网络位置异常?AD域排错3步封神,DNS/NetLogon/GPO根因一键定位
服务器·开发语言·php
时寒的笔记3 分钟前
js逆向入门03_会展中心案例&shuwei观察&ji思录
开发语言·前端·javascript
逆境不可逃4 分钟前
【后端新手谈 04】Spring 依赖注入所有方式 + 构造器注入成官方推荐的原因
java·开发语言·spring boot·后端·算法·spring·注入方式
英英_4 分钟前
MATLAB MapReduce 从入门到实战:大数据处理完整教程
开发语言·matlab·mapreduce
Anastasiozzzz5 分钟前
深度解析 Java 单例模式
java·开发语言
NGC_66118 分钟前
G1收集器
java·开发语言·jvm
进击的小头9 分钟前
第12篇:开环系统伯德图设计控制器
python·算法