2010-01-19 7 views
1
s={ 
     'userName': "4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf", 
     'userNameMin': "\u4e0d\u80fd\u5c0f\u4e8e4\u4e2a\u5b57", 
     'userNameMax': "\u4e0d\u80fd\u8d85\u8fc712\u4e2a\u5b57", 
     'userNameExist': "\u8be5\u7528\u6237\u540d\u5df2\u88ab\u6ce8\u518c\u4e86\uff0c\u8bf7\u6362\u6362", 
     'userNameInvalid': "\u53ea\u652f\u6301\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf", 
     'userNameStartInvalid': "\u7528\u6237\u540d\u4e0d\u80fd\u4ee5\u4e0b\u5212\u7ebf\u5f00\u5934", 
     'nickName': "6\u4f4d\u4ee5\u5185\u4e2d\u6587\u621612\u4f4d\u4ee5\u5185\u82f1\u6587\u5b57\u7b26", 
     'nickNameMin': "\u4e0d\u80fd\u5c0f\u4e8e1\u4e2a\u5b57", 
     'nickNameMax': "\u4e0d\u80fd\u8d85\u8fc76\u4e2a\u6c49\u5b57\u621612\u4e2a\u82f1\u6587\u5b57\u7b26", 
     'nickNameExist': "\u8be5\u540d\u5b57\u5df2\u88ab\u5360\u7528\uff0c\u8bf7\u6362\u6362", 
     'nickNameInvalid': "\u53ea\u652f\u6301\u4e2d\u6587\u3001\u5b57\u6bcd\u6216\u6570\u5b57\uff0c\u4e0d\u652f\u6301\u7a7a\u683c\u548c\u7279\u6b8a\u7b26\u53f7", 
     'nickNameError': "\u540d\u5b57\u4e2d\u542b\u6709\u8fdd\u7981\u8bcd\uff0c\u8bf7\u4fee\u6539\uff0c\u671b\u8c05\u89e3", 
     'password': "6-16\u4f4d\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf", 
     'passwordMin': "\u4e0d\u80fd\u5c0f\u4e8e6\u4e2a\u5b57\u7b26", 
     'passwordMax': "\u4e0d\u80fd\u8d85\u8fc716\u4e2a\u5b57\u7b26", 
     'passwordInvalid': "\u53ea\u652f\u6301\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf", 
     'password1': "\u8bf7\u518d\u786e\u8ba4\u4e00\u6b21\u4f60\u8f93\u5165\u7684\u5bc6\u7801", 
     'password1Invalid': "\u4e24\u6b21\u5bc6\u7801\u8f93\u5165\u4e0d\u4e00\u81f4", 
     'email': "\u8bf7\u8f93\u5165\u4f60\u5e38\u7528\u7684Email", 
     'emailExist': "\u8be5Email\u5df2\u88ab\u6ce8\u518c", 
     'emailInvalid': "Email\u683c\u5f0f\u4e0d\u6b63\u786e", 
     'sex': "\u8bf7\u9009\u62e9\u4f60\u7684\u6027\u522b", 
     'validateCode': "\u8bf7\u8f93\u5165\u56fe\u50cf\u4e2d\u7684\u6587\u5b57", 
     'validateCodeInvalid': "\u9a8c\u8bc1\u7801\u9519\u8bef", 
     'loading': '<img align="absmiddle" alt="" src="http://images.digu.com/web_res_v1/images/ico_loading16.gif" /> \u6b63\u5728\u68c0\u67e5\u552f\u4e00\u6027', 
     'checkCode': '<img align="absmiddle" alt="" src="http://images.digu.com/web_res_v1/images/ico_loading16.gif" /> \u6b63\u5728\u68c0\u67e5\u9a8c\u8bc1\u7801', 
     'ok': '<img align="absmiddle" alt="ok" src="http://images.digu.com/web_res_v1/images/ico_valid.gif" />', 
     'required': "\u5fc5\u586b" 
    } 

for i,j in s.items(): 
     print i,j.decode('unicode-escape') 

출력 :파이썬 사전 키 위해 인쇄

password1 请再确认一次你输入的密码 
required 必填 
userNameExist 该用户名已被注册了,请换换 
nickNameMax 不能超过6个汉字或12个英文字符 
checkCode <img align="absmiddle" alt="" src="http://images.digu.com/web_res_v1/images/ico_loading16.gif" /> 正在检查验证码 
userNameMin 不能小于4个字 
userNameMax 不能超过12个字 
userNameInvalid 只支持英文字母、数字和下划线 
sex 请选择你的性别 
nickNameExist 该名字已被占用,请换换 
emailExist 该Email已被注册 
passwordMax 不能超过16个字符 
emailInvalid Email格式不正确 
loading <img align="absmiddle" alt="" src="http://images.digu.com/web_res_v1/images/ico_loading16.gif" /> 正在检查唯一性 
userNameStartInvalid 用户名不能以下划线开头 
passwordInvalid 只支持英文字母、数字和下划线 
validateCode 请输入图像中的文字 
passwordMin 不能小于6个字符 
nickName 6位以内中文或12位以内英文字符 
email 请输入你常用的Email 
nickNameError 名字中含有违禁词,请修改,望谅解 
password 6-16位英文字母、数字和下划线 
userName 4-12个英文字母、数字和下划线 
ok <img align="absmiddle" alt="ok" src="http://images.digu.com/web_res_v1/images/ico_valid.gif" /> 
nickNameMin 不能小于1个字 
password1Invalid 两次密码输入不一致 
nickNameInvalid 只支持中文、字母或数字,不支持空格和特殊符号 
validateCodeInvalid 验证码错误 

내 질문은 : 순서는 출력 순서를 어떻게하는지

을 방해한다.

감사

+2

약 30 개가 아닌 4 개의 사전 항목으로 문제를 설명 할 수 있습니다. 미니멀리즘과 선 (禅) 같은 개념에 대해 들어 본 적이 있습니까? –

답변

5

사용 OrderedDict 튜플 또는 목록, 뭔가를이

[ 
    ('userName', "4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf"), 
    ('userNameMin', "\u4e0d\u80fd\u5c0f\u4e8e4\u4e2a\u5b57"), 
    .... 
] 

처럼 그리고 대신 s.items()

for i,j in s: 
     print i,j.decode('unicode-escape') 
+0

PEP 372 - 콜렉션에 순서가 지정된 사전 추가하기 http://www.python.org/dev/peps/pep-0372/ –

0

사용 튜플 () 또는 배열 대신 사전의 [] /지도 {} - 튜플과 배열은 자신의 순서를 유지하지만 키를 사용하여 허용하지 않는, 사전에 자신의 순서를 유지하지만 키를 사용하여 허용하지 않습니다.

s=(
    ('userName', "4-12\u4e2a\u82f1\u6587\u5b57\u6bcd\u3001\u6570\u5b57\u548c\u4e0b\u5212\u7ebf"), 
    ('userNameMin', "\u4e0d\u80fd\u5c0f\u4e8e4\u4e2a\u5b57"), 
    ('userNameMax', "\u4e0d\u80fd\u8d85\u8fc712\u4e2a\u5b57"), 
    . 
    . 
    . 
) 

for (i,j) in s: 
    print i,j.decode('unicode-escape') 
2

dicts는 정렬되지 않습니다. 특정 순서로 키를 출력해야 할 경우 목록을 사용하여 키를 누른 다음 각각의 키로 순서대로 색인을 만듭니다.

파이썬에
1

s를 사용하는

또는 변경 딕셔너리 2.7 이상 당신은 항상 할 수있는 인쇄하기 전에 정렬합니까?

for k in sorted(s.keys()): 
     print k,s[k].decode('unicode-escape')