[英]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.