<html><head></head><body><div class="ydpd472ab19yahoo-style-wrap" style="font-family:Helvetica Neue, Helvetica, Arial, sans-serif;font-size:13px;"><div></div>
        <div dir="ltr" data-setdir="false">I concur.</div><div dir="ltr" data-setdir="false">I am taking a short python course right now and would love to know how to prepare for interviews.</div><div dir="ltr" data-setdir="false">what skills are needed to perform well on entry level, intermediate and advanced roles please?</div><div dir="ltr" data-setdir="false"><br></div><div><br></div>
        
        </div><div id="yahoo_quoted_2504766091" class="yahoo_quoted">
            <div style="font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;font-size:13px;color:#26282a;">
                
                <div>
                    On Friday, December 30, 2022 at 02:20:10 PM MST, T. Zack Crawford via PLUG-discuss <plug-discuss@lists.phxlinux.org> wrote:
                </div>
                <div><br></div>
                <div><br></div>
                <div>I don't really know what your question is or what you are trying to do,<br clear="none">but I'll mention my immediate thoughts on what you wrote.<br clear="none"><br clear="none">Python is a very strong language and you can do A LOT with it. It is<br clear="none">very popular in data science and for web applications via flask. It<br clear="none">excels in writing abstracted code efficiently. It can be less terse than<br clear="none">other languages but it is usually easy to follow. It is less good than<br clear="none">other language for writing applications that are very demanding for<br clear="none">performance or need to be especially snappy.<br clear="none"><br clear="none">The built-in data structures in python are very strong. The dictionary<br clear="none">is incredibly useful. The list() is technically a linked list but is<br clear="none">very stack-like. I don't know how they work exactly but there are built<br clear="none">in optimizations so you don't have to think too much on if you are using<br clear="none">a particular type of array. Obviously numpy is the most relevant module<br clear="none">for arithmetic operations. There are VERY rare cases you might have a<br clear="none">performance boost by using modules with more "correct" stack data<br clear="none">structures. Pandas is a good package for SQL-like tables. And if you are<br clear="none">familiar with writing SQL queries, consider using pandasql.  It sounds<br clear="none">like you plan on working with binary trees, I'm not sure what the best<br clear="none">module is for your use case. There is a binarytree module.  Hashlib is<br clear="none">pretty much the only other module with data strutures I have used<br clear="none">frequently. You aren't implementing something that will have enough data<br clear="none">to warrant utilizing a spark (distributed computing) database.<br clear="none"><br clear="none">I have quite a few informative jupyter notebooks that might be useful.<br clear="none">But they are on my desktop at home. You should directly email me in a<br clear="none">couple days and maybe I can share some code/notes on data structures or<br clear="none">data-science or web development topics.<br clear="none"><br clear="none"><br clear="none">Zack<br clear="none"><a shape="rect" ymailto="mailto:z@tzcrawford.com" href="mailto:z@tzcrawford.com">z@tzcrawford.com</a><br clear="none"><br clear="none">On 22/12/30 01:37PM, trent shipley via PLUG-discuss wrote:<br clear="none">> Python UTF8 Treeview Project Feedback Request<br clear="none">> <br clear="none">> I want to move beyond classroom assignments and Exercism.org toy exercises<br clear="none">> and start work on my own project.  A major motivation is to have something<br clear="none">> to show if I make it to an interview for a software curation and writing<br clear="none">> job.<br clear="none">> <br clear="none">> This kind of view of a file tree is everywhere in Python documentation.  It<br clear="none">> would seem there is a utility, but I haven't been able to find it.<br clear="none">> <br clear="none">> /home/user/Projects/flask-tutorial<br clear="none">> ├── flaskr/<br clear="none">> │   ├── __init__.py<br clear="none">> │   ├── db.py<br clear="none">> │   ├── schema.sql<br clear="none">> │   ├── auth.py<br clear="none">> │   ├── blog.py<br clear="none">> │   ├── templates/<br clear="none">> │   │   ├── base.html<br clear="none">> │   │   ├── auth/<br clear="none">> │   │   │   ├── login.html<br clear="none">> │   │   │   └── register.html<br clear="none">> │   │   └── blog/<br clear="none">> │   │       ├── create.html<br clear="none">> │   │       ├── index.html<br clear="none">> │   │       └── update.html<br clear="none">> │   └── static/<br clear="none">> │       └── style.css<br clear="none">> ├── tests/<br clear="none">> │   ├── conftest.py<br clear="none">> │   ├── data.sql<br clear="none">> │   ├── test_factory.py<br clear="none">> │   ├── test_db.py<br clear="none">> │   ├── test_auth.py<br clear="none">> │   └── test_blog.py<br clear="none">> ├── venv/<br clear="none">> ├── setup.py<br clear="none">> └── MANIFEST.in<br clear="none">> <br clear="none">> (<a shape="rect" href="https://flask.palletsprojects.com/en/2.2.x/tutorial/layout/ " target="_blank">https://flask.palletsprojects.com/en/2.2.x/tutorial/layout/ </a> retrieved<br clear="none">> 2022-12-16)<br clear="none">> <br clear="none">> What I have discovered is that writing your own program to make this kind<br clear="none">> of ASCII representation of a file tree is a classic classroom assignment.<br clear="none">> You write a simple general tree, you do recursion, you have to get the<br clear="none">> output just right. It's not a bad little class assignment for a data<br clear="none">> structures and algorithms second semester.<br clear="none">> <br clear="none">> So I'm thinking I can put the ASCII tree classroom assignment on steroids<br clear="none">> and gold plate it.<br clear="none">> <br clear="none">> It would be nice to do a general implementation in C++, Rust, or Java, but<br clear="none">> I'm spending a lot of time in Python at work. Since Python is pretty<br clear="none">> friendly, I can probably produce a Python version with less effort than in<br clear="none">> other languages. It might turn out to be a useful utility run from the<br clear="none">> Python command or as a library, and it would then serve as a prototype for<br clear="none">> an attempt in a more rigorous and generally applicable language.<br clear="none">> <br clear="none">> *LAYERS*<br clear="none">> <br clear="none">> The project will have Python CLI and library interfaces.  For example, it<br clear="none">> might take a parameters such as start=top-left or start=top-center<br clear="none">> <br clear="none">> Working from the output layer down, we have the layer which formats and<br clear="none">> emits the file system as a pretty-printed UTF8 file.  By way of gold<br clear="none">> plating, the program could have front ends which pretty-print in HTML,<br clear="none">> LibreOffice Writer, and PDF.  Although it looks like ASCII representations<br clear="none">> of file trees can be generated on the fly with a lexically ordered<br clear="none">> depth-first traversal of the tree, there could be a tree structure and a<br clear="none">> tree builder.  Then a tree formatter gets the populated tree collection or<br clear="none">> data structure.  It walks the intermediate tree using a canned algorithm<br clear="none">> provided as a parameter, the links/edges in the tree represent the tree's<br clear="none">> structure, and the tree's nodes have default string representations which<br clear="none">> will be printed as the nodes of the ASCII graphic.<br clear="none">> <br clear="none">> <br clear="none">> *THE MISSING PYTHON LIBRARY*<br clear="none">> <br clear="none">> <br clear="none">> The back of the library should be a utility which provides a general tree<br clear="none">> data structure as a container or collection and functions providing<br clear="none">> depth-first and breadth-first algorithms to traverse the tree.  I thought<br clear="none">> there would certainly be a mature, robust, definitive library wrapping<br clear="none">> optimized, long-used C implementations of the top 25 data structures and<br clear="none">> their associated algorithms integrated into the Python ecosystem.  What I<br clear="none">> managed to find was one recent library, implemented in Python with few<br clear="none">> tests and little documentation (alltrees 1.2.4<br clear="none">> <a shape="rect" href="https://pypi.org/search/?q=alltrees&o= " target="_blank">https://pypi.org/search/?q=alltrees&o= </a> accessed 2022-12-16).  I didn't<br clear="none">> find anything with specialized implementations of things like singly linked<br clear="none">> lists or stacks which can be emulated by under-using Python's built-in<br clear="none">> dictionaries, lists, sets, and tuples.<br clear="none">> <br clear="none">> If there really isn't much in PyPI providing pure implementations of<br clear="none">> classic data structures, then one could fill that space first by creating a<br clear="none">> library of (inefficient) pure Python implementations of the desired data<br clear="none">> structure containers, and then complementing the Python implementation with<br clear="none">> a library providing wrappers around well-proven open-source implementations<br clear="none">> of data structures written in C, and tooling the integration well enough<br clear="none">> that using the resulting Python packages members provide idiomatic Python<br clear="none">> syntax.  The data structure collections, while more specialized than<br clear="none">> dictionaries, lists, sets, and tuples, would probably be reasonably useful<br clear="none">> for hard-core Pythonistas. It's actually a much better project than the<br clear="none">> walk-and-pretty-print-a-tree project I started out with.  Unfortunately,<br clear="none">> The only C I even had was learned kind of in passing when I took one<br clear="none">> semester of C++ in 1999, and except for sometimes reading a code snippet, I<br clear="none">> haven't used it since.<br clear="none">> <br clear="none">> <br clear="none">> I'm soliciting thoughts, feedback, and comments.<br clear="none"><br clear="none">> ---------------------------------------------------<br clear="none">> PLUG-discuss mailing list: <a shape="rect" ymailto="mailto:PLUG-discuss@lists.phxlinux.org" href="mailto:PLUG-discuss@lists.phxlinux.org">PLUG-discuss@lists.phxlinux.org</a><br clear="none">> To subscribe, unsubscribe, or to change your mail settings:<br clear="none">> <a shape="rect" href="https://lists.phxlinux.org/mailman/listinfo/plug-discuss" target="_blank">https://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><div class="yqt2551331263" id="yqtfd32910"><br clear="none"><br clear="none">---------------------------------------------------<br clear="none">PLUG-discuss mailing list: <a shape="rect" ymailto="mailto:PLUG-discuss@lists.phxlinux.org" href="mailto:PLUG-discuss@lists.phxlinux.org">PLUG-discuss@lists.phxlinux.org</a><br clear="none">To subscribe, unsubscribe, or to change your mail settings:<br clear="none"><a shape="rect" href="https://lists.phxlinux.org/mailman/listinfo/plug-discuss" target="_blank">https://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><br clear="none"></div></div>
            </div>
        </div></body></html>