mirror of
https://github.com/python/cpython.git
synced 2025-11-02 03:01:58 +00:00
outer level, the iterator protocol is used for memory-efficiency (the
outer sequence may be very large if fully materialized); at the inner
level, PySequence_Fast() is used for time-efficiency (these should
always be sequences of length 2).
dictobject.c, new functions PyDict_{Merge,Update}FromSeq2. These are
wholly analogous to PyDict_{Merge,Update}, but process a sequence-of-2-
sequences argument instead of a mapping object. For now, I left these
functions file static, so no corresponding doc changes. It's tempting
to change dict.update() to allow a sequence-of-2-seqs argument too.
Also changed the name of dictionary's keyword argument from "mapping"
to "x". Got a better name? "mapping_or_sequence_of_pairs" isn't
attractive, although more so than "mosop" <wink>.
abstract.h, abstract.tex: Added new PySequence_Fast_GET_SIZE function,
much faster than going thru the all-purpose PySequence_Size.
libfuncs.tex:
- Document dictionary().
- Fiddle tuple() and list() to admit that their argument is optional.
- The long-winded repetitions of "a sequence, a container that supports
iteration, or an iterator object" is getting to be a PITA. Many
months ago I suggested factoring this out into "iterable object",
where the definition of that could include being explicit about
generators too (as is, I'm not sure a reader outside of PythonLabs
could guess that "an iterator object" includes a generator call).
- Please check my curly braces -- I'm going blind <0.9 wink>.
abstract.c, PySequence_Tuple(): When PyObject_GetIter() fails, leave
its error msg alone now (the msg it produces has improved since
PySequence_Tuple was generalized to accept iterable objects, and
PySequence_Tuple was also stomping on the msg in cases it shouldn't
have even before PyObject_GetIter grew a better msg).
|
||
|---|---|---|
| .. | ||
| compiler | ||
| curses | ||
| distutils | ||
| encodings | ||
| hotshot | ||
| idlelib | ||
| lib-old | ||
| lib-tk | ||
| plat-aix3 | ||
| plat-aix4 | ||
| plat-beos5 | ||
| plat-freebsd2 | ||
| plat-freebsd3 | ||
| plat-freebsd4 | ||
| plat-freebsd5 | ||
| plat-generic | ||
| plat-irix5 | ||
| plat-irix6 | ||
| plat-linux1 | ||
| plat-linux2 | ||
| plat-netbsd1 | ||
| plat-next3 | ||
| plat-riscos | ||
| plat-sunos4 | ||
| plat-sunos5 | ||
| plat-unixware7 | ||
| site-packages | ||
| test | ||
| xml | ||
| __future__.py | ||
| __phello__.foo.py | ||
| aifc.py | ||
| anydbm.py | ||
| asynchat.py | ||
| asyncore.py | ||
| atexit.py | ||
| audiodev.py | ||
| base64.py | ||
| BaseHTTPServer.py | ||
| Bastion.py | ||
| bdb.py | ||
| binhex.py | ||
| bisect.py | ||
| calendar.py | ||
| cgi.py | ||
| CGIHTTPServer.py | ||
| cgitb.py | ||
| chunk.py | ||
| cmd.py | ||
| code.py | ||
| codecs.py | ||
| codeop.py | ||
| colorsys.py | ||
| commands.py | ||
| compileall.py | ||
| ConfigParser.py | ||
| Cookie.py | ||
| copy.py | ||
| copy_reg.py | ||
| dbhash.py | ||
| difflib.py | ||
| dircache.py | ||
| dis.py | ||
| doctest.py | ||
| dospath.py | ||
| dumbdbm.py | ||
| FCNTL.py | ||
| filecmp.py | ||
| fileinput.py | ||
| fnmatch.py | ||
| formatter.py | ||
| fpformat.py | ||
| ftplib.py | ||
| getopt.py | ||
| getpass.py | ||
| gettext.py | ||
| glob.py | ||
| gopherlib.py | ||
| gzip.py | ||
| hmac.py | ||
| htmlentitydefs.py | ||
| htmllib.py | ||
| HTMLParser.py | ||
| httplib.py | ||
| ihooks.py | ||
| imaplib.py | ||
| imghdr.py | ||
| imputil.py | ||
| inspect.py | ||
| keyword.py | ||
| knee.py | ||
| linecache.py | ||
| locale.py | ||
| macpath.py | ||
| macurl2path.py | ||
| mailbox.py | ||
| mailcap.py | ||
| markupbase.py | ||
| mhlib.py | ||
| mimetools.py | ||
| mimetypes.py | ||
| MimeWriter.py | ||
| mimify.py | ||
| multifile.py | ||
| mutex.py | ||
| netrc.py | ||
| nntplib.py | ||
| ntpath.py | ||
| nturl2path.py | ||
| os.py | ||
| pdb.doc | ||
| pdb.py | ||
| pickle.py | ||
| pipes.py | ||
| popen2.py | ||
| poplib.py | ||
| posixfile.py | ||
| posixpath.py | ||
| pprint.py | ||
| pre.py | ||
| profile.doc | ||
| profile.py | ||
| pstats.py | ||
| pty.py | ||
| py_compile.py | ||
| pyclbr.py | ||
| pydoc.py | ||
| Queue.py | ||
| quopri.py | ||
| random.py | ||
| re.py | ||
| reconvert.py | ||
| regex_syntax.py | ||
| regsub.py | ||
| repr.py | ||
| rexec.py | ||
| rfc822.py | ||
| rlcompleter.py | ||
| robotparser.py | ||
| sched.py | ||
| sgmllib.py | ||
| shelve.py | ||
| shlex.py | ||
| shutil.py | ||
| SimpleHTTPServer.py | ||
| SimpleXMLRPCServer.py | ||
| site.py | ||
| smtpd.py | ||
| smtplib.py | ||
| sndhdr.py | ||
| socket.py | ||
| SocketServer.py | ||
| sre.py | ||
| sre_compile.py | ||
| sre_constants.py | ||
| sre_parse.py | ||
| stat.py | ||
| statcache.py | ||
| statvfs.py | ||
| string.py | ||
| StringIO.py | ||
| stringold.py | ||
| sunau.py | ||
| sunaudio.py | ||
| symbol.py | ||
| symtable.py | ||
| tabnanny.py | ||
| telnetlib.py | ||
| tempfile.py | ||
| TERMIOS.py | ||
| threading.py | ||
| toaiff.py | ||
| token.py | ||
| tokenize.py | ||
| traceback.py | ||
| tty.py | ||
| types.py | ||
| tzparse.py | ||
| unittest.py | ||
| urllib.py | ||
| urllib2.py | ||
| urlparse.py | ||
| user.py | ||
| UserDict.py | ||
| UserList.py | ||
| UserString.py | ||
| uu.py | ||
| warnings.py | ||
| wave.py | ||
| weakref.py | ||
| webbrowser.py | ||
| whichdb.py | ||
| whrandom.py | ||
| xdrlib.py | ||
| xmllib.py | ||
| xmlrpclib.py | ||
| zipfile.py | ||