簡體   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