It makes some sense, and I've verified that it does what I want. I'm assuming that this initialization will only occur once, so I don't need to delete any members of the dcList. The only other minor issue with yours is that for multiple variable assignments it needs the number of variables passed to the function. So, essentially what I'm doing is checking every possible number of variables as so:
Code
timer, vhp, posX, posY = dcList[:0]
*program catches an error, loop again*
timer, vhp, posX, posY = dcList[:1]
*program catches an error, loop again*
timer, vhp, posX, posY = dcList[:2]
*program catches an error, loop again*
timer, vhp, posX, posY = dcList[:3]
*program catches an error, loop again*
timer, vhp, posX, posY = dcList[:4]
*program doesn't catch an error, so break out of the loop*
Therefore the process is made even more easier by not having to know the number of variables being assigned.