Archive for the ‘Python’ Category

Python Quicksort

Thursday, January 18th, 2007

Here is simple quick sort function written in Python to sort a list of numbers.

def qsort(toSort):

# return the list if only one is left
if len(toSort) < = 1:

return toSort

# set the value to pivot around
pivot = toSort[0] # initialize lists
less = []
greater = []
# sort the list
# skip the first value
for item in toSort[1:]:

if item < = pivot:

less.append(item)

else:

greater.append(item)

# recurse on both lists
r = qsort(less)
r.append(pivot)
r.extend(qsort(greater))
return r

# test
x = [1,99,7,0,7,7,7,99999,8,9,14,74,88]
print qsort(x)

This example is not very useful since python lists have a built in sort function, but should you have a list of tuples that you wanted to sort this function could very easily be modified to work with a value within the tuple that it pulls out instead of sorting by just the item itself.

Python and MySQL

Thursday, January 18th, 2007

A MySQL database can be queried from a python script with MySQLdb. Just download it here and install it, or if you are using FreeBSD it can be found under

/usr/ports/databases/py-MySQLdb.

In the python script import the MySQLdb module and declare a connection in cursor as in this example:

import MySQLdb
# Create a connection using your db info
db = MySQLdb.connect(host=”localhost”, user=”yourMysqlUser”, passwd=”youUserPass”,db=”yourDB”)
# Create a cursor, this can be used over and over
cursor = db.cursor()
# Build a query
q = “select user_id, user_name from users”
# run the query
cursor.execute(q)
# fetch the results
users = cursor.fetchall()
# loop through the results
for user in users:

print “ID %s Name: %s” % (user[0],user[1])

The cursor is created once from the connection and can be used for all queries in the script. The query selects two columns from the table and then script loops through them and prints them out. Each column is referenced by a number zero based as it comes back as a list. The order is set by the query.