在项目中手写遍历文件夹搜素文件时需要返回目标列表,发现 Python 初始化 List 列表时产生了与预期不一致的结果,特记录一下。
Python 初始化 List 列表可使用类型
list()
或者表达符号
[]
进行初始化,但是这两种初始化方式对单个字符串的处理并不一致,使用
list()
初始化单个字符串时会将字符串拆分为单个字符的列表,而使用
[]
则会保留为一个数组元素。通常情况下不对字符串进行拆分,因此建议不要省略
[]
符号。
测试代码:
a = ['hello']; p = 'world'; a.extend(p); print('p : {}, type : {}; a : {}, type : {}'.format(p, type(p), a, type(a)))
b = ['hello']; q = [p] ; b.extend(q); print('q : {}, type : {}; b : {}, type : {}'.format(q, type(q), b, type(b)))
c = ['hello']; r = list(p); c.extend(r); print('r : {}, type : {}; c : {}, type : {}'.format(r, type(r), c, type(c)))
d = ['hello']; s = list(q); d.extend(s); print('s : {}, type : {}; d : {}, type : {}'.format(s, type(s), d, type(d)))
# output :
# p : world , type : <class 'str'> ; a : ['hello', 'w', 'o', 'r', 'l', 'd'], type : <class 'list'>
# q : ['world'] , type : <class 'list'>; b : ['hello', 'world'] , type : <class 'list'>
# r : ['w', 'o', 'r', 'l', 'd'], type : <class 'list'>; c : ['hello', 'w', 'o', 'r', 'l', 'd'], type : <class 'list'>
# s : ['world' ], type : <class 'list'>; d : ['hello', 'world'] , type : <class 'list'>
版权声明:本文为u012101384原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。