0
my_list = ['a', 'b', 'c', 'd', 'e']
for i in my_list:
    my_need = my_list (i)
    print (my_need)

怎么了?我想使用 for 循环获取 my_list 的每个元素。

4

4 回答 4

3

在 python 中的列表或序列上的 for 循环会自动从序列中一次获取一个项目:

my_list = ['a', 'b', 'c', 'd', 'e']
for my_need in my_list:
   print my_need

或者你可能想做这样的事情:

>>> my_list = ['a', 'b', 'c', 'd', 'e']
>>> my_need = []
>>> for item in my_list:
...     my_need.append(item)
...     
>>> my_need
['a', 'b', 'c', 'd', 'e']
于 2013-06-11T05:56:19.777 回答
0

我认为您正在寻找的是一个数组切片:

my_need = my_list[:]

这会将 my_list 中的每个元素复制到 my_need 中,因此 print (my_need) 应该返回

['a', 'b', 'c', 'd', 'e']

如果你想将它们连接成一个字符串,你也可以这样做:

my_need = ""
for i in my_list:
    my_need += i
print(my_need)

这一次,打印语句将打印:

abcde
于 2013-06-11T06:08:31.377 回答
0

如果您只想要一个 my_need 字符串,请使用较短的版本:

my_need = "".join(my_list)
于 2013-06-11T06:14:51.903 回答
0

您混合了两种迭代列表的方法:直接迭代列表和迭代列表的索引。

正如其他人指出的那样,迭代列表中的元素的最佳方法就是:

for my_need in my_list:
    print(my_need)

或者,您可以使用rangeandlen函数迭代列表的索引。它的作用是,它迭代由range函数创建的列表中的项目(从0到的数字len(my_list)-1)并将它们用作实际列表的索引:

for i in range(len(my_list)):
    my_need = my_list[i] # note: square brackets!
    print(my_need)

如果您想同时迭代索引和项目,更好的方法是使用以下enumerate函数:

for i, my_need in enumerate(my_list):
    print(my_need) # however, index i is not needed in this example
于 2013-06-11T08:19:54.743 回答