我正在嘗試遍歷串列并使用“for in”回圈更改其值:
example_string = "This is a string."
for char in example_string :
char = 'r'
example_list = list(example_string)
for char in example_list:
char = 'r'
迭代不修改字串物件。
Python 中的“for in”迭代是否回傳另一個變數而不是實際的串列/字串元素?
我試著用串列來做。我預計串列或字串中的專案會因分配而改變。
uj5u.com熱心網友回復:
您可以更改串列,但改用索引:
example_string = ["This is a string.", "This is another string"]
for i in range(len(example_string)):
example_string[i] = "r"
print(example_string)

在您的示例中,只有變數會更改:
example_string = "This is a string."
for char in example_string:
char = 'r'
print(char)

您也可以使用索引從字串中進行選擇,但是字串本身是不可變的,您不能直接在其中重新分配:
Python 中的文本資料是用 str 物件或字串處理的。字串是 Unicode 代碼點的不可變序列。
uj5u.com熱心網友回復:
嘗試定義一個函式,在其中創建一個新串列(或字串)并將更改的元素附加到 for-in 回圈中。我的意思的一個例子:
def change_in_list(_list):
new_list = []
for element in _list:
element = 'CHANGED'
new_list.append(element)
return new_list
example_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(example_list)
print(change_in_list(example_list))
串列輸出
對于您將使用的字串
def modify_string(_string):
new_string = ''
for character in _string:
character = 'CHANGED'
new_string = character
return new_string
example_string = 'Hello World'
print(example_string)
print(modify_string(example_string))
這里輸出的是字串輸出
兩者都可以根據您的需要進行修改/調整,但我希望這會有所幫助
uj5u.com熱心網友回復:
是的,使用 for 回圈絕對有可能,但您沒有更改代碼中的原始變數:example_string。嘗試創建一個新串列并在每次迭代中追加或插入新值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/533931.html
上一篇:如何將文本拆分成單獨的行?
