当前位置: 首页 > news >正文

[赛码网、牛客刷题、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行数据,并转换成listmatrix.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[索引号]

自此,完结!

相关文章:

  • MyBatis操作数据库(SQL注入)
  • Autosar教程-Mcal教程-GPT配置教程
  • LayerNorm的图是不是画错了
  • 先缓存第二集抖音接入 ,最近加班猛,就分享简单的知识,如何使用:关于使用replace的用法正则表达式
  • Redis场景总结
  • Java算法之动态规划
  • 集合拆分Lists.partition的使用
  • Redis--线程模型详解
  • [uni-app ] createAnimation锚点旋转 及 二次失效问题处理
  • Mysql按照月份分组统计数据,当月无数据则填充0
  • STM32day2
  • 【AI视野·今日Sound 声学论文速览 第五十四期】Thu, 7 Mar 2024
  • 安装zabbix
  • C++ 特殊的类设计
  • 小米汽车上市进入倒计时,已开启内部试驾
  • 「译」Node.js Streams 基础
  • 【5+】跨webview多页面 触发事件(二)
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • CODING 缺陷管理功能正式开始公测
  • django开发-定时任务的使用
  • MySQL主从复制读写分离及奇怪的问题
  • Nacos系列:Nacos的Java SDK使用
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • Transformer-XL: Unleashing the Potential of Attention Models
  • Vue 2.3、2.4 知识点小结
  • vue:响应原理
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 分布式熔断降级平台aegis
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 解析 Webpack中import、require、按需加载的执行过程
  • 理解在java “”i=i++;”所发生的事情
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 深入浅出webpack学习(1)--核心概念
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 优化 Vue 项目编译文件大小
  • 正则学习笔记
  • - 转 Ext2.0 form使用实例
  • Android开发者必备:推荐一款助力开发的开源APP
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • ​业务双活的数据切换思路设计(下)
  • #define与typedef区别
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (1)虚拟机的安装与使用,linux系统安装
  • (Python第六天)文件处理
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (算法)前K大的和
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .gitignore
  • .NET CLR基本术语
  • .NET Micro Framework初体验(二)
  • .net 获取url的方法