python如何返回for循环内的变量

python如何返回for循环内的变量

全局变量和静态变量方法都试过。
但是,我这个程序是个进行多次循环的,返回值需要是个数据数组。
return语句返回的只有数组的开头或者是结尾。
请高人指点一二,怎么才能返回整个数组呢?
啥意思?

给个例子.
b=[都是数据,也有字符。。。。。]

for a in b:
if a[0] !='!' and a[0]!='#':
    c= a.split()
   
return c


[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python                                                           

def f():
    c=[]
    b=["xxx yyy", "zzz www"]
    for a in b:
        c+=a.split()

    return c

print f()

输出

[Copy to clipboard] [ - ]
CODE:
['xxx', 'yyy', 'zzz', 'www']

你原来每次都单纯对 c 赋值,旧的被新的冲掉。

c=[] 建立了一个列表,每次循环把新的值附加到 c 的后面。可以用 c+=[new] 或者 c.append (new)

谢谢了,先去试试!
c+=[new]这里面可不可以接个换行的符号,因为数据太多了。


QUOTE:
原帖由 Alex2000 于 2008-8-22 21:41 发表
b=[都是数据,也有字符。。。。。]

for a in b:
if a[0] !='!' and a[0]!='#':
    c= a.split()
   
return c

C能改变A的值么


QUOTE:
原帖由 Alex2000 于 2008-8-22 22:20 发表
c+=[new]这里面可不可以接个换行的符号,因为数据太多了。

c 是个列表,你可以用 c[j] 来引用第 j+1 个元素,也可以用 for elt in c: 来遍历。

加换行没有意义,通常不会直接输出 c.