"""

Since you are a beginner and since RCCILA (Runnable, Commented Code Is Least Ambiguous) I'm proving this example code to help you get used to manipulating data with python. This should give you an idea of how to juggle a bit. After you learn how to do this you likely still will not be juggling in the optimal way, but you will at least be able to manage your data.

Not having an ordered dictionary causes beginners some grief because they haven't yet wrapped their minds around the way the basic data types work. (I don't recally understand why ordered dictionaries are not part of the standard library. It seems that this would be a commonly used feature.) However, UserDict is part of the standard library, and it can be used to create an ordered dict. Due to Python's attempt to be accessible to all people, I would think a little more support for an ordered dictionary would be in Python already.

Nevertheless, beginners often stumble because they think they need an ordered dict when they really just need to learn to use various data types together. I think this covers the basics. If you can think of something not covered, let me know so I can add it to my examples.

"""

## dictionary
d1 = {
   'keyvalue2':[ 'value21', 'value22', 'value23'],
   'keyvalue3':[ 'value31', 'value32', 'value33'],
   'keyvalue1':['value11', 'value12', 'value13']
       }

d2 = {
   'keyvalue4':[ 'value41', 'value42', 'value43'],
   'keyvalue6':[ 'value61', 'value62', 'value63'],
   }

# merge the two dictionaries
d1.update(d2)


print d1.has_key('keyvalue3')  # True

# get the values of a dictionary key
v1,v2,v3 = d1['keyvalue3']
print v1,v2,v3   # value31 value32 value33


# now they are combined
print d1 # {'keyvalue4': ['value41', 'value42', 'value43'], 'keyvalue6': ['value61', 'value62', 'value63'], 'keyvalue1': ['value11', 'value12', 'value13'], 'keyvalue3': ['value31', 'value32', 'value33'], 'keyvalue2': ['value21', 'value22', 'value23']}

# now they are a list of tuples
myList = list( d1.items() )

print myList # [('keyvalue4', ['value41', 'value42', 'value43']), ('keyvalue6', ['value61', 'value62', 'value63']), ('keyvalue1', ['value11', 'value12', 'value13']), ('keyvalue3', ['value31', 'value32', 'value33']), ('keyvalue2', ['value21', 'value22', 'value23'])]

myList.sort()  # sorts on the first item in the tuple
print myList # [('keyvalue1', ['value11', 'value12', 'value13']), ('keyvalue2', ['value21', 'value22', 'value23']), ('keyvalue3', ['value31', 'value32', 'value33']), ('keyvalue4', ['value41','value42', 'value43']), ('keyvalue6', ['value61', 'value62', 'value63'])]

newDictionary = {}

# loop through all the items in the list and create a dictionary
for key, values in myList:
   newDictionary[key] = values

print newDictionary # 'keyvalue4': ['value41', 'value42', 'value43'], 'keyvalue6': ['value61', 'value62', 'value63'], 'keyvalue1': ['value11', 'value12', 'value13'], 'keyvalue3': ['value31', 'value32', 'value33'], 'keyvalue2': ['value21', 'value22', 'value23']}


do something like this
{keyvalue1:[ value1, value2, value3],keyvalue2:[value1,value2, value3],keyvalue3,:[value1,value2,value3]}

On 12 Apr 2007 00:58:54 -0700, *loial* < [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    I am new to python and am converting an awk script to python

    I need to store some data in an array/table of some form

    keyvalue1, value1, value2, value3
    keyvalue2, value1,value2, value3
    keyvalue3, value1,value2,value3
    etc

    I will later need to sort in keyvalue order and also need to be able
    to check if a key already exists

    It is not clear how to do this in python. All the examples I see have
    just a key and a single value

    --
    http://mail.python.org/mailman/listinfo/python-list




--
Regards--
Rishi Pathak
National PARAM Supercomputing Facility
Center for Development of Advanced Computing(C-DAC)
Pune University Campus,Ganesh Khind Road
Pune-Maharastra

--
Shane Geiger
IT Director
National Council on Economic Education
[EMAIL PROTECTED]  |  402-438-8958  |  http://www.ncee.net

Leading the Campaign for Economic and Financial Literacy

begin:vcard
fn:Shane Geiger
n:Geiger;Shane
org:National Council on Economic Education (NCEE)
adr:Suite 215;;201 N. 8th Street;Lincoln;NE;68508;United States
email;internet:[EMAIL PROTECTED]
title:IT Director
tel;work:402-438-8958
x-mozilla-html:FALSE
url:http://www.ncee.net
version:2.1
end:vcard

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to