python牛客网输入输出处理

2023-05-16

python 笔试输入:sys.stdin.readline和input(非常有用!!)
https://www.jianshu.com/p/6f14ca3290ee

input() vs sys.stdin.readline().strip()
都可以用,牛客网推荐后者。为了保险,写成input.strip()也可。
strip()用于截取首尾空白符和换行符。

print() vs sys.stdout.write()
print()自动换行。也可以不自动换行,比如:

>>> for i in range(0,6):
...     print(i, end=" ") # end = 空格
... 
0 1 2 3 4 5

>>>for i in range(0,3):
...     print(i, end = '' ) # end=空字符串
... 
012

print()可以打印数字,字符串,list,dict,tuple…,也可以参数格式化:str = “the length of (%s) is %d” %(‘runoob’,len(‘runoob’))
print()也可以不自动换行,
sys.stdout.write()不换行,只能打印字符串,如果要打印整数,用sys.stdout.write(str(int))

牛客网推荐使用sys.stdin.readline()形式输入,输出用print()
n, m = map(int, sys.stdin.readline().strip().split())

'''
输入:
2 3 分别赋给n, m并且转换为int类型
'''
import sys
 
n, m = map(int, sys.stdin.readline().strip().split())
print(type(n))
print('n', n)
print('n', m)

赛码网建议使用input()输入。使用sys.stdin.readline()默认会带换行符,所以要strip(’\n’)进行截取,使用sys.stdout.write(res)标准输出。

'''
输入:
5
(1,2)(5,3)(4,6)(7,5)(9,0)
output:
(4 6)(7 5)(9 0)
'''
 
 
nums = int(input())
points = []
for i in range(0, nums):
    read_list = list(map(int, input().split()))
    # read_list = [int(i) for i in input().split()]
    points.append((read_list[0], read_list[1]))
...
 
for i in points:
    print(i[0], i[1])

输出要注意,按行遍历输出,而不是输出一个list或者tuple

python 去除字符串中指定字符
https://blog.csdn.net/zdz0200/article/details/81453367

赛码网和牛客网python输入输出要求
https://blog.csdn.net/zdz0200/article/details/82150861

python中常用的数据结构

原文链接:https://blog.csdn.net/afterlake/article/details/100054150

基础
离开数据结构,算法就是空中楼阁,所以了解python内置的数据类型用法和其效率是非常有必要的

list
list作为最常见的内置数据结构,其不仅可以当作C语言的数组来使用,一些python特有的特性往往可以事半功倍

append 在list的结尾追加一个元素

sort 对list进行排序,在list长度小的时候使用插入排序,在长度大的时候使用快排,所以其时间复杂度可以视为O(nlgn)

pop 将最后一个元素重list内部弹出并返回

切片 python强大的语法糖之一,不仅可以用非负数索引,负数索引的合理使用可以节省不少代码量

set
set本质是哈希表,会对其内部元素去重,检查一个元素是否在set内部的时间复杂度是O(1)

常用的方法为

add 添加一个元素,就算是用一个元素多次添加,其内部也仅保留一份

pop 随机弹出一个元素并返回

dict
同set一样,dict本质也是哈希表,但是set是单个元素,dict是key-value的组合

setdefault 接受两个入参key、default, 如果dict存在key则不做任何操作,如果不存在key,则创建一个 key其value为default

get 同setdefault一样接受两个参数key、default,如果存在key,则返回其value,否则返回default

pop 同setdefault一样接受两个参数key、default,如果存在key,则删除key返回其value,否则返回default

str
字符串也是一个经常在算法中常用的数据结构,在python中str是不可变对象,支持”+“操作当时效率不高需要慎用

split 用指定的分隔符将str分割为list

strip 返回str去掉首尾的空白符后新的str,原来的str不受影响

join 用str作为连接符连接参数里面的每一个元素,常常用来替代”+“

进阶
这里介绍几个常用的内置函数

int 将一个参数转为int类型,在遇到字母等字符时会抛出错误

sum 返回参数的求和

min 返回多个参数的最小值

max 返回多个参数的最大值

abs 返回一个数字的绝对值

高级
这里对于数据结构的知识点要求就比较高了,仅仅介绍常用方法,如果不了解其特性的还请自己查阅资料

queue 队列
put 入队操作

get 出队操作

list 栈
这里又有list,是因为python没有单独的栈,在需要栈的时候往往使用list

append 入栈

pop 出栈

heapq 堆
仅支持最小堆,有个小技巧:如果最大堆,取反之后再放入堆,取出的时候再取反

heapfiy 将一个list转为最小堆

heappush 往一个最小堆添加元素

heappop 弹出堆中的最小值并返回

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python牛客网输入输出处理 的相关文章

随机推荐

  • C/C++:头文件与cpp文件的声明/定义

    一 头文件 1 一般来说 xff0c 头文件仅仅用于声明 xff0c 相应的定义要放在对应的cpp文件中 声明的内容一般可以是 xff1a 1 类定义体 xff1b 2 类中的成员方法 xff1b 3 类外的函数 xff1b 4 类外的变量
  • 树莓派简易人脸追踪云台

    前言 xff1a 这篇文章属于此系列 xff1a 一个用树莓派做的会聊天 xff0c 能人脸识别 xff08 支持云台追踪 xff09 和发送邮件的小玩具 https blog csdn net yonglisikao article de
  • Android JNI调用概要

    一 Java调C 编写Native方法 使用javah命令生成 h头文件 复制 h头文件到CPP工程中 复制jni md h和jni h到CPP工程中 实现 h头文件中生成的 生成dll文件 C的函数名称 xff1a Java 包名 方法名
  • curl的请求头与响应头获取

    1 从CURL中获取响应头 oCurl 61 curl init 设置请求头 有时候需要 有时候不用 看请求网址是否有对应的要求 header 61 34 Content type application x www form urlenc
  • C++头文件包含顺序问题

    C 43 43 中类的声明和类的定义分开几乎成了一个不成文的规定 这样做的好处是使得类的声明和实现分开 xff0c 清晰明了 xff0c 同时便于库函数发布 但是在实际编程中由此也常常引起了一些由于头文件的包含顺序问题而产生的符号未定义的编
  • 详解printf重定向到文件中,打印日志的实现

    printf是将信息打印到终端 xff0c 但是有时当我们需要打印的信息比较多时 xff0c 终端无法将所有信息都能够保留在屏幕上 xff0c 这样我们就不能在终端获取我们想要的信息了 xff0c 重定向很好的帮我们解决了这个问题 xff0
  • 计划

    文档计划 读书的时候 2010年左右 由于和导师做了一些涉及单片机的项目 xff0c 狠狠熟悉了一把C语言 xff0c 所以试图写一个实时内核 xff0c 但是由于涉及大量的硬件知识 xff0c 底层汇编和任务栈之类的东西 xff0c 而这
  • CMOS内核--序言

    CMOS内核 序言 本文介绍一些CMOS中需要用的基础知识 由于在单片机系统中不会有MMU所以单片机系统中的每个任务就是一个线程 xff0c 共用系统的地址空间 xff0c 为了精确性 xff0c 后文中措辞中使用线程替换任务 xff0c
  • 欧拉角和旋转矩阵之间的转换

    一 什么是欧拉角 在3D 空间中 xff0c 表示物体的旋转可以由三个欧拉角来表示 xff1a pitch围绕X轴旋转 xff0c 叫俯仰角 yaw围绕Y轴旋转 xff0c 叫偏航角 roll围绕Z轴旋转 xff0c 叫翻滚角 这三个角的顺
  • C++编译之(1)-g++单/多文件/库的编译及C标准的发展历程

    g 43 43 编译入门 本文为您介绍g 43 43 的编译用法 xff1b 通过从最简单的单文件编译 xff0c 到多文件编译 xff0c 再到动态库 静态库的编译及使用 xff1b 例子都经过实际编译并运行 xff0c 可谓全网最良心之
  • STM32F103-寄存器开发-2

    上一篇博客中我已经配置好了对应的时钟 xff0c 接下来就是对GPIOC口进行操作了 为此我们需要配置端口配置寄存器 xff0c 但是在用户手册中查阅 xff0c 可以发现有两个寄存器 xff0c CRL和CRH xff0c 我们应该使用哪
  • 25.UART串口发送过程与配置

    UART串口收发过程与配置 参考资料 STM32Fx中文参考手册 第26章 xff1a 通用同步异步收发器章节 开发板配套教程 STM32Fx开发指南 串口实验章节 笔记基于正点原子官方视频 视频连接https www bilibili c
  • c语言HTTP服务器,超级简易版。

    算是对linux多线程的复习把 xff0c 尝试这用socket写了一个简单的HTTP服务器 xff0c 当访问它的时候它会给你发送一个HTML文件 xff0c 这个HTML文件需要自己写 代码 span class hljs prepro
  • linux POST请求

    linux POST请求 curl https baidu com X POST H key1 value1 H key2 value2 d name test age 23 i 说明 xff1a H header 后接key value对
  • CPPREST处理跨域问题

    本例使用的代码框架非常简单 按照下面这个路径搭建即可 https blog csdn net youyicc article details 108261287 问题由来 网页端需要动态检测C 服务器这边服务是否正常运行 所以采用的方式是h
  • 内存存取区——堆和栈

    一 预备知识 程序的内存分配 一个由c C 43 43 编译的程序占用的内存分为以下几个部分 1 栈区 xff08 stack xff09 由编译器自动分配释放 xff0c 存放函数的参数值 xff0c 局部变量的值等 其操作方式类似于数据
  • ROS中RVIZ坐标系及TF坐标系转换

    RVIZ坐标系 X轴 红色 Y轴 绿色 Z轴 蓝色 YAW 偏航角 绕Z轴旋转 PITCH 俯仰角 绕Y轴旋转 ROLL 滚转角 绕X轴旋转 符合右手坐标系原则 利用TF进行坐标系转换 采用以下指令进行转换 xff0c 其中frame id
  • 【C语言】长度为0的数组

    最近在看代码的时候发现一个好玩的事情 xff0c 长度为0的数组 xff0c 在此记录一下 在网上看到的这个说是只有GNU C才支持的特性 xff0c 因此考虑跨平台或者可移植特点需要慎用 话不多说 xff0c 上案例才有感觉 span c
  • jetson xavier nx使用usb线刷机后开机黑屏闪屏

    情况一 比较常见 xff09 由于刷机是的flash接口是调在右边的 xff0c 如下图所示 解决方法 xff1a 故在刷机成功后 xff0c 连接显示屏后要将flash接口调到 左侧 情况二 在对jetson xavier nxs进行刷机
  • python牛客网输入输出处理

    python 笔试输入 sys stdin readline和input 非常有用 xff01 xff01 xff09 https www jianshu com p 6f14ca3290ee input vs sys stdin read