Python中遍历字典items()为何返回字符列表而非键字符串列表?
问题原因解析
- 核心问题出在列表的
+=操作符行为:当你对列表使用+=时,Python会把右侧的可迭代对象拆成单个元素,逐个追加到列表里。 - 字符串本身就是可迭代对象,遍历字符串时会返回每一个字符。所以代码里的
a += k(k是'key1'这类字符串),相当于把k拆成'k'、'e'、'y'、'1'这些单个字符,依次加到列表a中。 - 如果想把整个键字符串作为列表的一个元素,应该用
a.append(k),或者把字符串包装成列表再用+=,也就是a += [k]。
修正后的代码示例
d = {'key1': 'aaa', 'key2': 'aaa', 'key3': 'bbb'} a = [] for k, v in d.items(): a.append(k) # 替换成这行,或者用 a += [k] print(a) # 输出结果: ['key1', 'key2', 'key3']
内容的提问来源于stack exchange,提问作者JoYKim
相关产品推荐
相关产品推荐

