Explanation of this Python language feature? [x for x in x for x in x] (to flatten a nested list)

Mark H Harris harrismh777 at gmail.com
Sun Mar 30 02:22:55 EDT 2014


On 3/29/14 12:53 PM, Steven D'Aprano wrote:
> People have had localised code pages, and localised keyboards to enter
> characters in those code pages, for up to 30 years, if not longer.

    Nobody is arguing otherwise, Steven. Having a code page for a local 
language is not the same thing as having software that supports your 
local language code page! Software and code pages improved over time, 
but international communication (which is what I'm talking about) has 
always been done in English, using ASCII. Well except when Guido brought 
the ABC stuff to the states back in the day and had no way to do that 
except to fly himself (and the tape) personally.
>
> In some of those cases, the localisation was done by companies like IBM,
> Microsoft and Apple, realising that if they wanted to sell computers
> outside of the US, they needed to supply computers that were localised to
> their market.

    Unfortunately that happened way late. And even then, international 
communication was still done (and is still done) in English. Only until 
very recently (see my post to Chris) has unicode improved to the point 
where international comm can occur reliably enough (input, font, code 
points) to allow comm in languages other than English. And yet, although 
Kanji has been around for a while, most international comm is still 
handled in English because its the lingua franca.


> This code page system actually worked pretty well, so long as you only
> exchange documents with people using the same code page. Until the
> Internet, that was mostly the case.

    My point exactly. With the advent of the Internet, almost *all* comm 
is English with minor notable exceptions in today's environment. Just 
look around, you need not argue with me. You can find places for local 
comm, but they are sparse.

>
>> That's why they called it ASCII American Standard
>> Code for Information Interchange...
>
> Yes. So what? Just because ASCII exists doesn't mean everyone uses it
> *exclusively*.

    Yeah, well, that's exactly what happened; its still happening. Only 
today its UTF-8, a Latin script (there is only one) and thousands of 
people all over the earth on the Internet speaking English around the 
globe.  Yeah, I know, there are localized pockets and people using their 
computer in their heart language, but for international communication 
you're going to find (primarily) people communicating in English.

> With the demise of EBCDIC as the standard character encoding (actually
> plural encodings, because EBCDIC has code pages too),

    Ha!  That's funny.   EBCIDIC is | was  standard only at IBM. Those 
stubborn people (I used to be one of them) stuck with EBCIDIC and 
SNA/SDLC until they realized that they could not communicate with the 
rest of the world using ASCII and TCP/IP.  ... just hilarious!

> ASCII has become
> the lowest common denominator for most (but not all) character sets. Pre-
> Unicode, most (but definitely not all!) code pages were based on ASCII,
> either with a few changes, or extending it to a full 8 bits.

    Yup.

> But that's the point:

    Yes it is.

> most people with access to computing in the first
> place, also had access to input methods and code pages for their native
> language. Your idea that they were forced to use ASCII exclusively, with
> no way of entering their own language, is simply wrong.

    I'm not arguing that, Steven. You're just being silly. I'm talking 
about be forced to communicate around the world when most of the people 
communicating are speaking English and using ASCII.
    Look, I can unplug my computer from the Internet and use it to 
translate biblical Greek and O.T. Hebrew and be happy as a clam that I'm 
locally doing my own thing in my own language (so what)? The moment I 
want to communicate outside my local space I better know English, and I 
better have a code page that supports it.
    If you live in Israel, and only communicate with people in Israel, 
you can use your modern Hebrew font and code page and be happy as a 
clam; but if you want to communicate with somebody in IOWA, perhaps Iowa 
State for some reason, you better know English. Just say'n.
    On the other hand, just look around  the Internet. 98% of all 
communication is English using UTF-8 today. Yes, you can find pockets 
where this is not true, but primarily, the world is using a modern 
lingua franca.

    I am very interested with the intense interest in this topic.


marcus




More information about the Python-list mailing list