Hi I am fairly new to Python. I am writing some code that uses a dictionary to store definitions of hardware registers. Here is a small part of it:
import sys register = { 'address' : 0x3001c, 'fields' : { 'FieldA' : { 'range' : (31,20), }, 'FieldB' : { 'range' : (19,16), }, }, 'width' : 32 }; def main(): fields = register['fields'] for field, range_dir in fields: <== This line fails range_dir = field['range'] x,y = range_dir['range'] print(x, y) if __name__ == '__main__': main() I want the code to print the range of bits of each field defined in the dictionary. The output is: Traceback (most recent call last): File "testdir.py", line 32, in <module> main() File "testdir.py", line 26, in main for field, range_dir in fields: ValueError: too many values to unpack (expected 2) Please will someone explain what I am doing wrong? Also I would like to ask how I could print the ranges in the order they are defined. Should I use a different dictionary class or could I add a field to the dictionary/list to achieve this? Best regards David
-- https://mail.python.org/mailman/listinfo/python-list