Explanation of this Python language feature? [x for x in x for x in x] (to flatten a nested list)
steve+comp.lang.python at pearwood.info
Sat Mar 29 04:51:04 CET 2014
On Fri, 28 Mar 2014 16:18:25 -0500, Mark H Harris wrote:
> We need a standard input system not controlled by Microsoft where-by
> everyone in the entire world can enter unicode (with customization)
> easily and inexpensively. A unicode keyboard would be nice.
Under what circumstances do you see yourself needing a keyboard capable
of typing Hindi?
I don't wish to pay for a keyboard for entering Arabic when I'm never
going to enter more than two or three Arabic characters at a time. If I
need to enter an Arabic character, I can use one of many existing virtual
keyboards. If I decide to learn Arabic, I will use my current keyboard
(perhaps with new keycaps) and switch to a different keyboard layout.
I don't think that an English-speaker who needs to occasionally enter a
few characters like © ¢ or £, a mathematician who knows TeX, a Russian
wanting to type in Cyrillic, and a Japanese writer who needs to swap
between four different writing systems (Kanji, Hiragana, Katakana, and
Rōmaji) are all going to be well-suited by any one system. I expect that
it will end up being one-size-fits-none.
> Why must
> everyone in the world be stuck with a U.S. Royal typewriter keyboard for
> two or three hundred years?
You are being patronising to the 94% of the world that is not from the
USA. Do you honestly think that people all over the world have been using
computers for 30 or 40 years without any way to enter their native
language? Before trying to speak for everyone in the world, it would be a
good idea to learn something about their situation first.
People are not stuck with the US Royal typewriter keyboard. Keyboards are
localised all over the world. I'm not just talking about European
keyboards mostly similar to US keyboards but with a few customizations.
I'm talking about keyboards for entering Chinese and Japanese:
although I'm pretty sure this is a joke:
When you install Linux, one of the first things the installer asks you to
do is choose a keyboard layout. The choices are *not* just:
but one of a large variety of keyboard layouts. On my system, there are a
[root at ando ~]# ls /usr/share/X11/xkb/symbols | wc -l
Likely many more, as most of the files contain more than one layout; e.g.
the ru file contains 5, the fr file contains 7.
On Mac and Windows, locally-bought systems will come pre-configured for
the local national language.
You can even buy keycaps for some pretty niche use-cases:
although I expect that's more for novelty reasons than anything else.
Most languages work quite well with the standard keyboard layout of four
rows of keys, plus modifiers and special keys. Japanese and Chinese are
probably the two hardest cases (apart from languages that don't even have
a writing system!), and even they have solutions to the problem of
computer input. (In Japan, many people don't even use Unicode, at least
not yet, so your hypothetical solution wouldn't help them one bit.)
Virtually all keyboards today have standardized on a similar layout, one
with at least three modifier keys (and more commonly four). People with
specialized needs can configure their keyboard the way it suits them.
There's no need for some dictator or committee to declare that everyone
will use this system or that. Historians who need to enter Phoenician
characters can do so, the rest of us don't need to worry about them.
> Dvorak had the right idea; but it didn't
> stick (although I have a Dvorak key mapping I use (with emacs) just for
Dvorak is an American English system. There are modified versions to suit
other languages with additional characters, but it is essentially
*identical* to Qwerty except for the order that the keys appear.
Shuffling the order that Latin letters ABC...Z appear on the keyboard is
not in any way "the right idea" for entering non-Latin languages, nor
does a Dvorak language help enter arbitrary Unicode characters.
More information about the Python-list