d = {'x': 'A', 'y': 'B', 'z': 'C' } [k + '=' + v for k, v in d.items()] ['y=B', 'x=A', 'z=C'] 这个运行没有问题 但是如下就会出错 d = {'A':1,'B':2,'C':3} [k + '=' + v for k,v in d.items()] 能解释下为什么吗?难道使用列表生成式的时候dict内部的value只能是str类型?
那是因为'A' + 1出错了,跟列表生成式没有任何关系
换个写法:
['%s = %s' % (k, v) for k, v in d.items()]
这个样子哦,谢谢廖老师的解答。
Sign in to make a reply
用户5316519431
d = {'x': 'A', 'y': 'B', 'z': 'C' } [k + '=' + v for k, v in d.items()] ['y=B', 'x=A', 'z=C'] 这个运行没有问题 但是如下就会出错 d = {'A':1,'B':2,'C':3} [k + '=' + v for k,v in d.items()] 能解释下为什么吗?难道使用列表生成式的时候dict内部的value只能是str类型?