• Skip to primary navigation
  • Skip to main content

DebKR

To the Stars

  • About
  • Blog
  • Contact

order

Coding 101 (part 8)

Coding 101 (part 8)

03/05/2016 By debkr

A quick recap:
We’re cracking on well here, going through the Python course on Coursera as taught by Dr. Chuck (see footnotes for more info and links). We’ve looked a strings and how we can slice, dice and extract data from them using find and split functions. We’ve gone on to learn about files, and proceeded to open and read data from files, both as strings and as lists. We’ve been able to index lists using integer values from zero upwards. Then we’ve gone on to look at dictionaries, which are mini two-field databases of key/value pairs referenced using their keys. And all throughout we’ve been learning about and using various kinds of loops or iterations, conditional statements, and functions (both built-in and defined in-program).

Monty_Python,_And_Now_for_Something_Completely_Different_(1971)And now for something completely different:
All these things were familiar to me from programming in school and as a maths undergrad (albeit a little rusty!). But now we come on to something completely different, something I hadn’t heard of before: tuples. I’ll call tuples the big brother of lists as they’re very similar to lists: they’re basically another type of collection of things. [Read more…] about Coding 101 (part 8)

Filed Under: Blog, Personalised Training Plan, Programming Tagged With: append(), argument, coding101, count, dictionary, function, items(), key/value pair, list, loop, order, python, sort, tuple

Building a Tagging Engine in Python using Dictionaries

Building a Tagging Engine in Python using Dictionaries

01/05/2016 By debkr

tagging-engineI started playing around building a Tagging Engine in Python using Lists but now I’ve studied a bit more – particularly Dictionaries – I want to see how I can perfect what I was working on. Here are a couple of key things I added/changed in this program over the version I was working on earlier.

1. Using a dictionary instead of lists for faster counting and simpler recall. This is straight forward, using the get method as taught by Dr. Chuck (see Coding 101 part 7 for more details).

words = dict()
for word in wordlist :
____if word in excluded : continue
____words[word] = words.get(word,0) + 1

[Read more…] about Building a Tagging Engine in Python using Dictionaries

Filed Under: Blog, Personalised Training Plan, Programming, Programming Projects Tagged With: ==, count, descending, dictionary, iteration, len(), length, list, loop, order, print, program, range, raw_input, user, variable, working directory

Coding 101 (part 7)

Coding 101 (part 7)

29/04/2016 By debkr

coding-101-dictionariesLists work great but they leave something on the table:
I’ve been building a Tagging Engine in Python as a little exercise to help me learn by doing, using my knowledge so far. It became clear pretty quickly that I needed a better way to handle pairs of data. In this case I was looking at a list of words and the number of times each of them appeared in a text, so that I could rank the most common words by order of significance (frequency). If I just used one list and appended both the word and its count to the list, one value after the other, there was no way I could sort by count number.

I got round this problem by having two lists, one for the words and another for the word counts. I could then manipulate the data as needed. This did work fine in the simple program I wrote, but it was my usual unwieldy, sledgehammer approach again. I knew there was a way I could handle that pair of data points better – using Python’s Dictionaries functionality – but I didn’t want to rush ahead of the curve. Well now I get the chance to learn all about dictionaries. [Read more…] about Coding 101 (part 7)

Filed Under: Blog, Personalised Training Plan, Programming Tagged With: coding101, count, data, database, dict(), dictionary, function, items(), key/value pair, list, order, python, return, value, variable, word counts

Copyright © 2016–2025 · Powered by WordPress On Genesis Framework · Log in

  • Writing
  • Developing
  • Consulting