Newcomer to Python tutorial question

Alan Cameron alan.cameron at iname.com
Fri May 8 05:16:55 EDT 2009


"Terry Reedy" <tjreedy at udel.edu> wrote in message 
news:mailman.5248.1241732704.11746.python-list at python.org...
> Alan Cameron wrote:
>>
>>>>> why is the printed result of
>>>>>
>>>>>>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>>>>>>> print(basket)
>>>>> {'orange', 'banana', 'pear', 'apple'}
>>>>>
>>>>> in the sequence given?
>
>> It appears that I used a reserved term when I used 'sequence'.
>
> No and Sort-of.
>
> No: We often use it in the normal English sense of ordered items, as I and 
> I think others assume you did.  Your question is quite legitimate, and the 
> answer, as indicated, is how an implementation interacts with the sequence 
> of additions.
>
> Sort-of: The library manual section of Sequence Types lists the sequence 
> operations common to all or most built-in Python sequence classes.  But it 
> does not explicitly define sequence.  Ranges, which are iterables that 
> directly support only indexing and len(), are called sequences. Dicts, 
> which are iterables that support len() but are usually not indexed by 
> integers, are not.  So that suggests a minimal definition of sequence, but 
> all the other sequence classes support much more that is typically 
> assumed.
>
> Keywords are reserved terms in the language such as 'if' and 'None' that 
> are specially recognized by the parser and which affect compilation. 
> Identifiers of the form '__x...y__' are reserved names.  Non-terminal 
> terms in the grammar are reserved terms, in a sense, within the reference 
> manual, but 'expression_list', not 'sequence', is used for comma-separated 
> sequences of expressions in code.  The comma-separated sequence of items 
> in a function call is separately defined as an 'argument_list' because 
> 'keyword_item's like 'a=b' and '*' and '**' are not expressions and 
> because there are some order restrictions on argument items.
>
> Terry Jan Reedy
>

Thanks for the explanation.

In particular reference to the tutorial section
http://docs.python.org/3.0/tutorial/datastructures.html#nested-list-comprehensions

There is a word which is ambiguous, at least to me.

Perhaps you can explain the use of the word 'comprehensions'.

Comprehension I understand
Comprehensions I don't.

Is there a glossary of terms somewhere?

-- 
Alan Cameron 





More information about the Python-list mailing list