turn list of letters into an array of integers

Discussion in 'Python' started by seektime, Oct 24, 2012.

  1. seektime

    seektime Guest

    Here's some example code. The input is a list which is a "matrix" of letters:
    a b a
    b b a

    and I'd like to turn this into a Python array:

    1 2 1
    2 2 1

    so 1 replaces a, and 2 replaces b. Here's the code I have so far:

    >>> L=['a b a\n','b b a\n']
    >>> s=' '.join(L)
    >>> seq1=('a','b')
    >>> seq2=('1','2')
    >>> d = dict(zip(seq1,seq2))
    >>> # Define method to replace letters according to dictionary (got this from http://gomputor.wordpress.com/2008/09/27/search-replace-multiple-words-or-characters-with-python/).

    .... def replace_all(text, dic):
    .... for i, j in dic.iteritems():
    .... text = text.replace(i, j)
    .... return text
    ....

    >>> seq = replace_all(s,d)
    >>> print seq

    1 2 1
    2 2 1

    >>> seq

    '1 2 1\n 2 2 1\n'

    My question is how can I turn "seq" into a python array?

    Thanks
    Michael
     
    seektime, Oct 24, 2012
    #1
    1. Advertising

  2. On 2012-10-23, at 10:23 PM, seektime <> wrote:
    > My question is how can I turn "seq" into a python array?



    Something like this perhaps?:

    >>> alpha = ('a', 'b')
    >>> numeric = ('1', '2')
    >>> L = ['a b a\n', 'b b a\n']
    >>> s = ' '.join(L)
    >>> d = dict(zip(alpha, numeric))
    >>> list_ = [d[c] for c in s.strip('\n').split()]
    >>> list_

    ['1', '2', '1', '2', '2', '1']

    Demian Brecht
    @demianbrecht
    http://demianbrecht.github.com
     
    Demian Brecht, Oct 24, 2012
    #2
    1. Advertising

  3. seektime

    David Hutto Guest

    On Wed, Oct 24, 2012 at 1:23 AM, seektime <> wrote:
    > Here's some example code. The input is a list which is a "matrix" of letters:
    > a b a
    > b b a
    >
    > and I'd like to turn this into a Python array:
    >
    > 1 2 1
    > 2 2 1
    >
    > so 1 replaces a, and 2 replaces b. Here's the code I have so far:
    >
    >>>> L=['a b a\n','b b a\n']
    >>>> s=' '.join(L)
    >>>> seq1=('a','b')
    >>>> seq2=('1','2')
    >>>> d = dict(zip(seq1,seq2))
    >>>> # Define method to replace letters according to dictionary (got this from http://gommeitputor.wordpress.com/2...ace-multiple-words-or-characters-with-python/).

    > ... def replace_all(text, dic):
    > ... for i, j in dic.iteritems():
    > ... text = text.replace(i, j)
    > ... return text
    > ...
    >
    >>>> seq = replace_all(s,d)
    >>>> print seq

    > 1 2 1
    > 2 2 1
    >
    >>>> seq

    > '1 2 1\n 2 2 1\n'
    >

    I'd suggest, if this is what you're referring to:

    x = seq.split('\n ')
    array_list = [ ]
    next_3_d_array = []
    range_of_seq = len(seq)
    for num in range(0,range_of_seq):
    if num % 3 != 0:
    next_3_d_array.append(num)
    if num % 3 == 0:
    array_list.append(next_3_d_array)
    next_3_d_array = [ ]

    --
    Best Regards,
    David Hutto
    CEO: http://www.hitwebdevelopment.com
     
    David Hutto, Oct 24, 2012
    #3
  4. On 2012-10-23, at 10:45 PM, Demian Brecht <> wrote:

    >>>> list_ = [d[c] for c in s.strip('\n').split()]
    >>>> list_

    > ['1', '2', '1', '2', '2', '1']



    Of course, if you want these to be ints, then you can either change the format of your int list, or map(int, list_) if you don't have control over it.

    Demian Brecht
    @demianbrecht
    http://demianbrecht.github.com
     
    Demian Brecht, Oct 24, 2012
    #4

  5. > Of course, if you want these to be ints, then you can either change the format of your int list, or map(int, list_) if you don't have control over it.



    Ugh, I'm tired. Shouldn't map it, the conversion should be done in the list comprehension to avoid a needless second list iteration.

    K, I'm going to sleep now. :p

    Demian Brecht
    @demianbrecht
    http://demianbrecht.github.com
     
    Demian Brecht, Oct 24, 2012
    #5
  6. seektime

    Chris Rebert Guest

    On Tue, Oct 23, 2012 at 10:23 PM, seektime <> wrote:
    > Here's some example code. The input is a list which is a "matrix" of letters:
    > a b a
    > b b a
    >
    > and I'd like to turn this into a Python array:


    You mean a Python list. The datatype Python calls an `array` is very
    different and relatively uncommonly used.
    Although, confusingly, Python's lists are implemented using C arrays
    rather than linked lists.

    > 1 2 1
    > 2 2 1
    >
    > so 1 replaces a, and 2 replaces b. Here's the code I have so far:
    >
    >>>> L=['a b a\n','b b a\n']

    <snip>
    >>>> seq

    > '1 2 1\n 2 2 1\n'
    >
    > My question is how can I turn "seq" into a python array?


    I'd say you're asking the wrong question. The better question is "Why
    wasn't the result a list in the first place?". Many transformations
    are cumbersome to express over just strings, which is why the first
    job of most programs is to parse their input into a more convenient
    structure that is suited to their main task(s).

    This (along with some other improvements) leads to a better, somewhat
    different program/algorithm:

    letter2number = {'a': 1, 'b': 2}
    with open("path/to/file.txt", "r") as f:
    result = [[letter2number[letter] for letter in
    line.strip().split()] for line in f]

    If it's safe to assume that the correspondence between the letters and
    numbers isn't completely arbitrary, some further improvements are also
    possible.

    Some relevant docs:
    http://docs.python.org/library/stdtypes.html#string-methods
    http://docs.python.org/tutorial/datastructures.html#list-comprehensions

    Cheers,
    Chris

    P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    it is worth noting for future reference that the readlines() method is
    considered somewhat deprecated.
     
    Chris Rebert, Oct 24, 2012
    #6
  7. seektime

    Peter Otten Guest

    Chris Rebert wrote:

    > line.strip().split()


    No need to strip() if you are going to split on whitespace:

    >>> line = " a b c \n"
    >>> line.split() == line.strip().split()

    True

    Lest the new idiom takes on while you are bravely fighting the immortable
    readlines() ;)
     
    Peter Otten, Oct 24, 2012
    #7
  8. seektime

    Peter Otten Guest

    Peter Otten wrote:

    Brave new words:

    > immortable


    should be "immortal"
     
    Peter Otten, Oct 24, 2012
    #8
  9. Chris Rebertæ–¼ 2012å¹´10月24日星期三UTC+8下åˆ2時07分29秒寫é“:
    > On Tue, Oct 23, 2012 at 10:23 PM, seektime <> wrote:
    >
    > > Here's some example code. The input is a list which is a "matrix" of letters:

    >
    > > a b a

    >
    > > b b a

    >
    > >

    >
    > > and I'd like to turn this into a Python array:

    >
    >
    >
    > You mean a Python list. The datatype Python calls an `array` is very
    >
    > different and relatively uncommonly used.
    >
    > Although, confusingly, Python's lists are implemented using C arrays
    >
    > rather than linked lists.


    The list in python is a list of valid python objects.
    For the number crunching part, please use arrays in numarray and scipy.

    >
    > > 1 2 1

    >
    > > 2 2 1

    >
    > >

    >
    > > so 1 replaces a, and 2 replaces b. Here's the code I have so far:

    >
    > >

    >
    > >>>> L=['a b a\n','b b a\n']

    >
    > <snip>
    >
    > >>>> seq

    >
    > > '1 2 1\n 2 2 1\n'

    >
    > >

    >
    > > My question is how can I turn "seq" into a python array?

    >
    >
    >
    > I'd say you're asking the wrong question. The better question is "Why
    >
    > wasn't the result a list in the first place?". Many transformations
    >
    > are cumbersome to express over just strings, which is why the first
    >
    > job of most programs is to parse their input into a more convenient
    >
    > structure that is suited to their main task(s).
    >
    >
    >
    > This (along with some other improvements) leads to a better, somewhat
    >
    > different program/algorithm:
    >
    >
    >
    > letter2number = {'a': 1, 'b': 2}
    >
    > with open("path/to/file.txt", "r") as f:
    >
    > result = [[letter2number[letter] for letter in
    >
    > line.strip().split()] for line in f]
    >
    >
    >
    > If it's safe to assume that the correspondence between the letters and
    >
    > numbers isn't completely arbitrary, some further improvements are also
    >
    > possible.
    >
    >
    >
    > Some relevant docs:
    >
    > http://docs.python.org/library/stdtypes.html#string-methods
    >
    > http://docs.python.org/tutorial/datastructures.html#list-comprehensions
    >
    >
    >
    > Cheers,
    >
    > Chris
    >
    >
    >
    > P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    >
    > it is worth noting for future reference that the readlines() method is
    >
    > considered somewhat deprecated.
     
    88888 Dihedral, Oct 24, 2012
    #9
  10. Chris Rebertæ–¼ 2012å¹´10月24日星期三UTC+8下åˆ2時07分29秒寫é“:
    > On Tue, Oct 23, 2012 at 10:23 PM, seektime <> wrote:
    >
    > > Here's some example code. The input is a list which is a "matrix" of letters:

    >
    > > a b a

    >
    > > b b a

    >
    > >

    >
    > > and I'd like to turn this into a Python array:

    >
    >
    >
    > You mean a Python list. The datatype Python calls an `array` is very
    >
    > different and relatively uncommonly used.
    >
    > Although, confusingly, Python's lists are implemented using C arrays
    >
    > rather than linked lists.


    The list in python is a list of valid python objects.
    For the number crunching part, please use arrays in numarray and scipy.

    >
    > > 1 2 1

    >
    > > 2 2 1

    >
    > >

    >
    > > so 1 replaces a, and 2 replaces b. Here's the code I have so far:

    >
    > >

    >
    > >>>> L=['a b a\n','b b a\n']

    >
    > <snip>
    >
    > >>>> seq

    >
    > > '1 2 1\n 2 2 1\n'

    >
    > >

    >
    > > My question is how can I turn "seq" into a python array?

    >
    >
    >
    > I'd say you're asking the wrong question. The better question is "Why
    >
    > wasn't the result a list in the first place?". Many transformations
    >
    > are cumbersome to express over just strings, which is why the first
    >
    > job of most programs is to parse their input into a more convenient
    >
    > structure that is suited to their main task(s).
    >
    >
    >
    > This (along with some other improvements) leads to a better, somewhat
    >
    > different program/algorithm:
    >
    >
    >
    > letter2number = {'a': 1, 'b': 2}
    >
    > with open("path/to/file.txt", "r") as f:
    >
    > result = [[letter2number[letter] for letter in
    >
    > line.strip().split()] for line in f]
    >
    >
    >
    > If it's safe to assume that the correspondence between the letters and
    >
    > numbers isn't completely arbitrary, some further improvements are also
    >
    > possible.
    >
    >
    >
    > Some relevant docs:
    >
    > http://docs.python.org/library/stdtypes.html#string-methods
    >
    > http://docs.python.org/tutorial/datastructures.html#list-comprehensions
    >
    >
    >
    > Cheers,
    >
    > Chris
    >
    >
    >
    > P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    >
    > it is worth noting for future reference that the readlines() method is
    >
    > considered somewhat deprecated.
     
    88888 Dihedral, Oct 24, 2012
    #10
  11. seektime

    Robert Kern Guest

    On 10/24/12 1:03 PM, 88888 Dihedral wrote:

    > The list in python is a list of valid python objects.
    > For the number crunching part, please use arrays in numarray and scipy.


    Your bot's database is laughably out of date.

    --
    Robert Kern

    "I have come to believe that the whole world is an enigma, a harmless enigma
    that is made terrible by our own mad attempt to interpret it as though it had
    an underlying truth."
    -- Umberto Eco
     
    Robert Kern, Oct 24, 2012
    #11
  12. seektime

    Terry Reedy Guest

    On 10/24/2012 1:23 AM, seektime wrote:
    > Here's some example code. The input is a list which is a "matrix" of letters:
    > a b a
    > b b a
    >
    > and I'd like to turn this into a Python array:
    >
    > 1 2 1
    > 2 2 1
    >
    > so 1 replaces a, and 2 replaces b.


    If you are going to replace single characters (letters) with single
    characters (digits), use maketrans and translate.

    >>> 'a b c'.translate(str.maketrans('abc', '123'))

    '1 2 3'

    --
    Terry Jan Reedy
     
    Terry Reedy, Oct 24, 2012
    #12
  13. seektime

    MRAB Guest

    On 2012-10-24 07:07, Chris Rebert wrote:
    > On Tue, Oct 23, 2012 at 10:23 PM, seektime <> wrote:
    >> Here's some example code. The input is a list which is a "matrix" of letters:
    >> a b a
    >> b b a
    >>
    >> and I'd like to turn this into a Python array:

    >
    > You mean a Python list. The datatype Python calls an `array` is very
    > different and relatively uncommonly used.
    > Although, confusingly, Python's lists are implemented using C arrays
    > rather than linked lists.
    >
    >> 1 2 1
    >> 2 2 1
    >>
    >> so 1 replaces a, and 2 replaces b. Here's the code I have so far:
    >>
    >>>>> L=['a b a\n','b b a\n']

    > <snip>
    >>>>> seq

    >> '1 2 1\n 2 2 1\n'
    >>
    >> My question is how can I turn "seq" into a python array?

    >
    > I'd say you're asking the wrong question. The better question is "Why
    > wasn't the result a list in the first place?". Many transformations
    > are cumbersome to express over just strings, which is why the first
    > job of most programs is to parse their input into a more convenient
    > structure that is suited to their main task(s).
    >
    > This (along with some other improvements) leads to a better, somewhat
    > different program/algorithm:
    >
    > letter2number = {'a': 1, 'b': 2}
    > with open("path/to/file.txt", "r") as f:
    > result = [[letter2number[letter] for letter in line.strip().split()] for line in f]
    >

    If you're using .split() then you don't need to use .strip() as well:

    result = [[letter2number[letter] for letter in line.split()] for
    line in f]

    > If it's safe to assume that the correspondence between the letters and
    > numbers isn't completely arbitrary, some further improvements are also
    > possible.
    >
    > Some relevant docs:
    > http://docs.python.org/library/stdtypes.html#string-methods
    > http://docs.python.org/tutorial/datastructures.html#list-comprehensions
    >
    > Cheers,
    > Chris
    >
    > P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    > it is worth noting for future reference that the readlines() method is
    > considered somewhat deprecated.
    >
     
    MRAB, Oct 24, 2012
    #13
  14. seektime

    Guest

    Le mercredi 24 octobre 2012 07:23:11 UTC+2, seektime a écrit :
    > Here's some example code. The input is a list which is a "matrix" of letters:
    >
    > a b a
    >
    > b b a
    >
    >
    >
    > and I'd like to turn this into a Python array:
    >
    >
    >
    > 1 2 1
    >
    > 2 2 1
    >
    >
    >
    > so 1 replaces a, and 2 replaces b. Here's the code I have so far:
    >
    >
    >
    > >>> L=['a b a\n','b b a\n']

    >
    > >>> s=' '.join(L)

    >
    > >>> seq1=('a','b')

    >
    > >>> seq2=('1','2')

    >
    > >>> d = dict(zip(seq1,seq2))

    >
    > >>> # Define method to replace letters according to dictionary (got this from http://gomputor.wordpress.com/2008/09/27/search-replace-multiple-words-or-characters-with-python/).

    >
    > ... def replace_all(text, dic):
    >
    > ... for i, j in dic.iteritems():
    >
    > ... text = text.replace(i, j)
    >
    > ... return text
    >
    > ...
    >
    >
    >
    > >>> seq = replace_all(s,d)

    >
    > >>> print seq

    >
    > 1 2 1
    >
    > 2 2 1
    >
    >
    >
    > >>> seq

    >
    > '1 2 1\n 2 2 1\n'
    >
    >
    >
    > My question is how can I turn "seq" into a python array?
    >
    >
    >
    > Thanks
    >
    > Michael


    Not so sure what you mean by an "array of integers".

    >>> def z(s):

    .... a = s.splitlines()
    .... b = [e.split() for e in a]
    .... for row in range(len(b)):
    .... for col in range(len(b[row])):
    .... b[row][col] = ord(b[row][col]) - ord('a')
    .... return b
    ....
    >>> z('a b a\n b b a')

    [[0, 1, 0], [1, 1, 0]]
    >>>
    >>> # or
    >>> table = {'a': 111, 'b': 222}
    >>>
    >>> def z2(s, table):

    .... a = s.splitlines()
    .... b = [e.split() for e in a]
    .... for row in range(len(b)):
    .... for col in range(len(b[row])):
    .... b[row][col] = table[b[row][col]]
    .... return b
    ....
    >>> z2('a b a\n b b a', table)

    [[111, 222, 111], [222, 222, 111]]
    >>>
    >>> # note
    >>> z('a\n b b b b b\n a a')

    [[0], [1, 1, 1, 1, 1], [0, 0]]

    jmf
     
    , Oct 24, 2012
    #14
  15. On 2012-10-24, at 10:27 AM, wrote:
    > Not so sure what you mean by an "array of integers".



    I wasn't entirely sure about that either. I assumed given the subject that it was just a 1-D array and could then be accessed by arr[(y * width) + x].

    Demian Brecht
    @demianbrecht
    http://demianbrecht.github.com
     
    Demian Brecht, Oct 24, 2012
    #15
  16. On Wed, 24 Oct 2012 11:04:38 +0200, Peter Otten <>
    declaimed the following in gmane.comp.python.general:

    > Peter Otten wrote:
    >
    > Brave new words:
    >
    > > immortable

    >
    > should be "immortal"


    Readlines() isn't immortal... It's a lich
    http://en.wikipedia.org/wiki/Lich
    --
    Wulfraed Dennis Lee Bieber AF6VN
    HTTP://wlfraed.home.netcom.com/
     
    Dennis Lee Bieber, Oct 24, 2012
    #16
  17. seektime

    seektime Guest

    On Tuesday, October 23, 2012 11:07:29 PM UTC-7, Chris Rebert wrote:
    > On Tue, Oct 23, 2012 at 10:23 PM, seektime <> wrote:
    >
    > > Here's some example code. The input is a list which is a "matrix" of letters:

    >
    > > a b a

    >
    > > b b a

    >
    > >

    >
    > > and I'd like to turn this into a Python array:

    >
    >
    >
    > You mean a Python list. The datatype Python calls an `array` is very
    >
    > different and relatively uncommonly used.
    >
    > Although, confusingly, Python's lists are implemented using C arrays
    >
    > rather than linked lists.
    >
    >
    >
    > > 1 2 1

    >
    > > 2 2 1

    >
    > >

    >
    > > so 1 replaces a, and 2 replaces b. Here's the code I have so far:

    >
    > >

    >
    > >>>> L=['a b a\n','b b a\n']

    >
    > <snip>
    >
    > >>>> seq

    >
    > > '1 2 1\n 2 2 1\n'

    >
    > >

    >
    > > My question is how can I turn "seq" into a python array?

    >
    >
    >
    > I'd say you're asking the wrong question. The better question is "Why
    >
    > wasn't the result a list in the first place?". Many transformations
    >
    > are cumbersome to express over just strings, which is why the first
    >
    > job of most programs is to parse their input into a more convenient
    >
    > structure that is suited to their main task(s).
    >
    >
    >
    > This (along with some other improvements) leads to a better, somewhat
    >
    > different program/algorithm:
    >
    >
    >
    > letter2number = {'a': 1, 'b': 2}
    >
    > with open("path/to/file.txt", "r") as f:
    >
    > result = [[letter2number[letter] for letter in
    >
    > line.strip().split()] for line in f]
    >
    >
    >
    > If it's safe to assume that the correspondence between the letters and
    >
    > numbers isn't completely arbitrary, some further improvements are also
    >
    > possible.
    >
    >
    >
    > Some relevant docs:
    >
    > http://docs.python.org/library/stdtypes.html#string-methods
    >
    > http://docs.python.org/tutorial/datastructures.html#list-comprehensions
    >
    >
    >
    > Cheers,
    >
    > Chris
    >
    >
    >
    > P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    >
    > it is worth noting for future reference that the readlines() method is
    >
    > considered somewhat deprecated.


    Thanks to everyone lots of great comments are actionable suggestions.

    My intension is to used the numpy/scipy packages to solve the task at hand.I agree that there's no point in loading a file into a format which only needs to be converted right after loading. But I'm new to Python the f.readline(s) command, according to the 2.7.3 tutorial and manual, is pretty much all there is for file i/o. If, as you indicated, f.readlines() is deprecated then what should I use instead? I'm using ver. 2.6 on Linux (it's a bit dated, I know).
     
    seektime, Oct 25, 2012
    #17
  18. seektime

    seektime Guest

    On Tuesday, October 23, 2012 11:07:29 PM UTC-7, Chris Rebert wrote:
    > On Tue, Oct 23, 2012 at 10:23 PM, seektime <> wrote:
    >
    > > Here's some example code. The input is a list which is a "matrix" of letters:

    >
    > > a b a

    >
    > > b b a

    >
    > >

    >
    > > and I'd like to turn this into a Python array:

    >
    >
    >
    > You mean a Python list. The datatype Python calls an `array` is very
    >
    > different and relatively uncommonly used.
    >
    > Although, confusingly, Python's lists are implemented using C arrays
    >
    > rather than linked lists.
    >
    >
    >
    > > 1 2 1

    >
    > > 2 2 1

    >
    > >

    >
    > > so 1 replaces a, and 2 replaces b. Here's the code I have so far:

    >
    > >

    >
    > >>>> L=['a b a\n','b b a\n']

    >
    > <snip>
    >
    > >>>> seq

    >
    > > '1 2 1\n 2 2 1\n'

    >
    > >

    >
    > > My question is how can I turn "seq" into a python array?

    >
    >
    >
    > I'd say you're asking the wrong question. The better question is "Why
    >
    > wasn't the result a list in the first place?". Many transformations
    >
    > are cumbersome to express over just strings, which is why the first
    >
    > job of most programs is to parse their input into a more convenient
    >
    > structure that is suited to their main task(s).
    >
    >
    >
    > This (along with some other improvements) leads to a better, somewhat
    >
    > different program/algorithm:
    >
    >
    >
    > letter2number = {'a': 1, 'b': 2}
    >
    > with open("path/to/file.txt", "r") as f:
    >
    > result = [[letter2number[letter] for letter in
    >
    > line.strip().split()] for line in f]
    >
    >
    >
    > If it's safe to assume that the correspondence between the letters and
    >
    > numbers isn't completely arbitrary, some further improvements are also
    >
    > possible.
    >
    >
    >
    > Some relevant docs:
    >
    > http://docs.python.org/library/stdtypes.html#string-methods
    >
    > http://docs.python.org/tutorial/datastructures.html#list-comprehensions
    >
    >
    >
    > Cheers,
    >
    > Chris
    >
    >
    >
    > P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    >
    > it is worth noting for future reference that the readlines() method is
    >
    > considered somewhat deprecated.


    Thanks to everyone lots of great comments are actionable suggestions.

    My intension is to used the numpy/scipy packages to solve the task at hand.I agree that there's no point in loading a file into a format which only needs to be converted right after loading. But I'm new to Python the f.readline(s) command, according to the 2.7.3 tutorial and manual, is pretty much all there is for file i/o. If, as you indicated, f.readlines() is deprecated then what should I use instead? I'm using ver. 2.6 on Linux (it's a bit dated, I know).
     
    seektime, Oct 25, 2012
    #18
  19. seektime

    Chris Rebert Guest

    On Wed, Oct 24, 2012 at 9:27 PM, seektime <> wrote:
    > On Tuesday, October 23, 2012 11:07:29 PM UTC-7, Chris Rebert wrote:

    <snip>
    >> P.S.: I'm guessing you obtained `L` from file.readlines() or similar;
    >> it is worth noting for future reference that the readlines() method is
    >> considered somewhat deprecated.

    >
    > Thanks to everyone lots of great comments are actionable suggestions.
    >
    > My intension is to used the numpy/scipy packages to solve the task at hand. I agree that there's no point in loading a file into a format which onlyneeds to be converted right after loading. But I'm new to Python the f.readline(s) command, according to the 2.7.3 tutorial and manual, is pretty much all there is for file i/o. If, as you indicated, f.readlines() is deprecated then what should I use instead? I'm using ver. 2.6 on Linux (it's a bitdated, I know).


    Just iterate over the file directly using a for-loop (e.g. `for line
    in some_file:`). Each iteration yields one line of the file. I used a
    very minor variation of this approach in my code (a list comprehension
    is just syntax sugar for a for-loop).

    Cheers,
    Chris
     
    Chris Rebert, Oct 25, 2012
    #19
  20. seektime

    Peter Otten Guest

    [OT] Re: turn list of letters into an array of integers

    Dennis Lee Bieber wrote:

    > On Wed, 24 Oct 2012 11:04:38 +0200, Peter Otten <>
    > declaimed the following in gmane.comp.python.general:
    >
    >> Peter Otten wrote:
    >>
    >> Brave new words:
    >>
    >> > immortable

    >>
    >> should be "immortal"

    >
    > Readlines() isn't immortal... It's a lich
    > http://en.wikipedia.org/wiki/Lich


    Wasn't there a Monty Python sketch where a man carrying a parrot in a cage
    comes into a shop full of stuffed animals and complains: No, I don't admire
    the taxidermist for making that parrot look like it were alive -- that beast
    bit me!
     
    Peter Otten, Oct 25, 2012
    #20
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Merrigan
    Replies:
    4
    Views:
    583
    Chris
    Dec 14, 2007
  2. Venugopal
    Replies:
    11
    Views:
    1,559
    Tassilo v. Parseval
    Nov 5, 2003
  3. Mahurshi Akilla
    Replies:
    5
    Views:
    117
    Bart Lateur
    May 14, 2009
  4. Roy Smith
    Replies:
    1
    Views:
    167
    Peter Otten
    Jul 22, 2012
  5. Jan Riechers
    Replies:
    4
    Views:
    221
Loading...

Share This Page