实现Python的方法是使用列表理解。试试这个:
我被要求将一个列表附加到另一个空列表中(原始列表中有一些更改(我尝试了以下代码,它显示错误的输出
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames=[]
change= [n.lower() for n in names]
for n in names:
username=(n.replace(' ','_'))
usernames.append(username)
print (usernames)
预期输出:
joey_tribbiani
monica_geller
chandler_bing
phoebe_buffay
我得到的:
['Phoebe_Buffay']
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames = [n.lower().replace(' ','_') for n in names]
print (usernames)
现在,让我们跳到您的代码。问题出在线路username=(n.replace(' ','_'))
上。在每次迭代中,您都要重新定义变量,在for循环的最后一次迭代之后,username
指向列表中的最后一个元素。
这可能只是缩进问题,您希望在for循环的每次迭代中都有append
操作,但意外地忘记了正确地缩进它。我已经删除了username
变量,并将append
移到for循环下。试试这个:
names = ["Joey Tribbiani", "Monica Geller", "Chandler Bing", "Phoebe Buffay"]
usernames = []
for n in names:
usernames.append(n.lower().replace(' ','_'))
print(usernames)
输出:
['joey_tribbiani', 'monica_geller', 'chandler_bing', 'phoebe_buffay']