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