Python List 初始化单个字符串时的注意事项

  • Post author:
  • Post category:python


在项目中手写遍历文件夹搜素文件时需要返回目标列表,发现 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 版权协议,转载请附上原文出处链接和本声明。