对不起,伙计们看起来好像把我的循环放在功能中。
这是我的for循环t查看列表并打印出' 2' lenth中的字符。 我试着看一个函数是否也能做到这一点。
listo = ['esto', 'es', 'un', 'poco', 'dificil', 'y', 'si']
for fun in listo:
x = fun.strip()
if len(x) == 2:
print (x)#Yes extra indentation
output=es
un
si
将其变成一个功能:
listo = ['esto', 'es', 'un', 'poco', 'dificil', 'y', 'si']
def func():
a = listo.strip()
if len(a) <=2:
print(a)
但是&#39; strip&#39;不起作用,所以我删除它,让它寻找 如果len(a)&lt; = 2 现在没有错误,但它也不起作用。我在这里想念的是什么,什么是&#39; strip&#39;在一个功能? 谢谢。
答案 0 :(得分:0)
您的strip()
似乎取代了非常需要的for
循环。
相反,请将其替换为for
循环:
def func(lst):
for a in lst:
if len(a) <=2:
print(a)
此外,您的1 st 示例毫无意义。你有一个名为list
的列表(不要这样做,它会影响内置内容),然后你循环遍历stuff
?,它会引发no错误?此外,在2 nd 示例中,您有list.strip()
会引发错误。
答案 1 :(得分:0)
listo = ['esto', 'es', 'un', 'poco', 'dificil', 'y', 'si']
def func():
for line in listo:
aa = line.strip()
if len(aa) ==2:
print(aa)
谢谢大家,我不知道为什么我不将for循环放在函数中..
答案 2 :(得分:0)
def strip(n='Hello, world!',x=' '):
if type(x) == "<class 'str'>":
x = [x]
for i in x:
l = ''
r = n.split(i) # If not working, use r = series.n.split(i) or r = pd.series.n.split(i), and import pandas as pd.
for j in r:
l += j
n = l
return n
这类似于 print(strip('Hello, world!',[',',' ','!']))
。它将第一个参数 (Hello, world!) 去掉第二个参数中的所有元素(空格、逗号和感叹号),得到 Helloworld
。