繁体   English   中英

Python - 使用list()和操作列表

[英]Python - using list() and manipulating lists

我的列表生成脚本似乎有问题。 我正在尝试将字符串转换为字符串列表列表,以便在特定的函数中使用它。

例如,我想将字符串'abc'转换为: [['a'],['b'],['c']] 所以我写的脚本是:

s='some string'
t=[[0]]*len(s)
for i in range(len(s)):
    t[i][0] = list(s)[i]
return t

问题是这会返回[['g'],['g'],..,['g']]而不是[['s'],['o'],..,['g'])

我找到了另一种方法来实现这一点,但我似乎无法找到这个脚本的问题。 所以,如果有人能帮助我,我会非常感激。 提前致谢。

[[0]] * len(s)没有做你认为它做的事情,考虑这个更好的方法:

s = 'abc'
li = [[ch] for ch in s]
print(li)
>> [['a'], ['b'], ['c']]

这是一个经典错误: [[0]]*n创建一个对唯一对象[0]n引用的列表。 改为使用它来创建一个n不同对象的列表,所有对象都等于[0][[0] for i in range(n)] 这样,您就可以在不影响其他值的情况下更改每个值的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM