Display the Label (value) of a selected list value

Sometimes you may have a need to get the value of a selected list value instead of the key.

For example, if you have a select field called "field_priority" and your key|value pair looks like this:

0|Low
1|Medium
2|High
3|Urgent

To display the value of the field you would do something like this:

print $node->field_priority[$langcode][0]['value'];
But that would display a number. It would make more sense to display the label
$key = $node->field_priority[$langcode][0]['value'];
$field = field_info_field('field_priority');
$label = $field['settings']['allowed_values'][$key];
print $label;