thekushalghosh's blog

By thekushalghosh, history, 16 months ago, In English

Hello Codeforces Community,

Actually all of the Python users over here would agree that "sometimes" we need to write a bit long for taking input in Python, and it is also slow.

That's why I made a good template for taking Quick And Fast Input, which I would like to share.

import sys
input = sys.stdin.readline

############ ---- Input Functions ---- ############
def inp():
    return(int(input()))
def inlt():
    return(list(map(int,input().split())))
def insr():
    s = input()
    return(list(s[:len(s) - 1]))
def invr():
    return(map(int,input().split()))

Just paste this template at the beginning of your Code.

It comprises of 4 functions :-

1) inp — For taking integer inputs.

2) inlt — For taking List inputs.

3) insr — For taking string inputs. Actually it returns a List of Characters, instead of a string, which is easier to use in Python, because in Python, Strings are Immutable.

4) invr — For taking space seperated integer variable inputs.

The input = sys.stdin.readline is actually for Faster Inputs, because line reading through System STDIN (Standard Input) is faster in Python.

 
 
 
 
  • Vote: I like it
  • +26
  • Vote: I do not like it

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

This blog may be useful.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I have read this before somewhere else.

  • »
    »
    16 months ago, # ^ |
    Rev. 4   Vote: I like it 0 Vote: I do not like it

    The quick input functions were made by me, which I have personally used for a long time. You may have read about the fast input through STDIN (which is obviously built-in, and I haven't made :p)

»
11 months ago, # |
  Vote: I like it +1 Vote: I do not like it

Thank You! This is so useful!

»
6 weeks ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Hi, I just want to ask when to use sys.stdin.readline, because once I used it and it gave me wrong output (WA) and when I removed it, my code was Accepted. Here are my submissions:

With sys.stdin.readline: 108547882 Without: 108548171

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    sys.stdin.readline also reads end of line "\n" character. See here vs here

    Also, note how does the blog takes string input in insr() function. It explicitly removes the last character.