Ali*_*Ali 7 python initialization list
我想在python中初始化一个列表.我不明白为什么下面的代码不起作用:
u = ['abc', 'de', 'fghi', 'jklm', 'n', '']
for item in u:
item = len(item)
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以初始化列表,例如:
u = [len(item) for item in u]
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是为什么第一个代码不起作用.
编辑:我是Python和编程的新手.不幸的是,我不理解你答案的某些部分.例如:
- 重新绑定在" 重新绑定的名称item的名称的长度item"
- 迭代器在"项目"是指向的元素的临时变量u基于其中的(隐含的)迭代指向
据我明白,我的第二个例子,new_list在内存中创建一个,并赋值为new_listto u.不管以前的价值是多少.但我想知道如何在第一个列表中更改值.谢谢
在第一种情况下,您没有初始化任何东西。“item”是一个临时变量,它根据(隐式)迭代器指向的位置指向 au 的元素。如果你想以第一种样式初始化列表,你可以这样做:
u = ['abc', 'de', 'fghi', 'jklm', 'n', '']
v = []
for item in u:
v.append(len(item))
print v
Run Code Online (Sandbox Code Playgroud)