当我想使用for循环获取列表中的每个元素时出了什么问题?

时间:2013-06-11 05:55:31

标签: python python-3.x

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

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

4 个答案:

答案 0 :(得分: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']

答案 1 :(得分: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)

这次,print语句将打印出来:

abcde

答案 2 :(得分:0)

如果您只想要一个my_need字符串,则缩短版本:

my_need = "".join(my_list)

答案 3 :(得分:0)

您正在混淆两种方式来迭代列表:直接迭代列表,并迭代列表的索引。

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

for my_need in my_list:
    print(my_need)

或者,您可以使用rangelen函数迭代列表的索引。它的作用是,它迭代range函数创建的列表中的项目(从0len(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