.split() Qeustion

Joshua Landau joshua at landau.ws
Wed Aug 14 06:31:01 EDT 2013


On 14 August 2013 09:30, Alister <alister.ware at ntlworld.com> wrote:
> On Tue, 13 Aug 2013 22:12:56 -0700, Gary Herron wrote:
>
>> On 08/13/2013 09:51 PM, eschneider92 at comcast.net wrote:
>>> How can I use the '.split()' method (am I right in calling it a
>>> method?) without instead of writing each comma between words in the pie
>>> list in the following code? Also, is there a way to use .split instead
>>> of typing the apostrophes? Thank you.
>>>
>>> import random pie=['keylime', 'peach', 'apple', 'cherry', 'pecan']
>>> print(random.choice(pie))
>>>
>>> Eric
>>
>> I think you are referring to this:
>>      pie = 'keylime peach apple cherry pecan'.split()
>>
>> While it's easier to type, and does save a few characters, I think the
>> original list is clearer to a reader of your program.
>>
>> Gary Herron
>
> I would agree with the last statement.
> Please write list definitions as lists rather than taking a short-cut to
> save a few key presses

That's true with this example, but is:

lines = [
    "Developments in high-speed rail, and high-speed",
    "transport more generally, have historically been",
    "impeded by the difficulties in managing friction",
    "and air resistance, both of which become",
    "substantial when vehicles approach high speeds.",
    "The vactrain concept eliminates these obstacles",
    "by employing magnetically levitating trains in",
    "tubes kept at a complete vacuum, allowing for",
    "heoretical speeds of thousands of miles per",
    "hour. The high cost of constructing such a system,",
    "however, and the difficulty of maintaining a",
    "vacuum over large distances, has prevented this",
    "type of system from ever being built. The",
    "Hyperloop can be viewed as a modified vactrain,",
    "employing more cost-effective solutions to the",
    "same problems the latter was designed to solve."
]

really more readable than:

lines = """\
Developments in high-speed rail, and high-speed
transport more generally, have historically been
impeded by the difficulties in managing friction
and air resistance, both of which become
substantial when vehicles approach high speeds.
The vactrain concept eliminates these obstacles
by employing magnetically levitating trains in
tubes kept at a complete vacuum, allowing for
heoretical speeds of thousands of miles per
hour. The high cost of constructing such a system,
however, and the difficulty of maintaining a
vacuum over large distances, has prevented this
type of system from ever being built. The
Hyperloop can be viewed as a modified vactrain,
employing more cost-effective solutions to the
same problems the latter was designed to solve.
"""[1:-1].split("\n")

?

Additionally,namedtuple has already set the precedence for this kind of thing.

Finally, a simple extension or a decent editor should make it trivial
to convert between the forms, so you can write the shorter way and
convert on-the-fly.



More information about the Python-list mailing list