Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在列表元素中提取(两)个长度字符_Python_Python 3.x - Fatal编程技术网

Python 在列表元素中提取(两)个长度字符

Python 在列表元素中提取(两)个长度字符,python,python-3.x,Python,Python 3.x,这是我的for循环。它查看列表并打印出长度为“2”个字符的元素。 我想看看函数是否也能做到这一点: 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

这是我的for循环。它查看列表并打印出长度为“2”个字符的元素。 我想看看函数是否也能做到这一点:

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)

现在没有错误,但也不起作用。我在这里遗漏了什么,函数中的
strip
的替代方案是什么?

看起来您的
strip()
正在取代非常需要的
for
循环

相反,将其替换为
for
循环:

def func(lst):
    for a in lst:
        if len(a) <=2:
            print(a)
<代码>def func(lst): 对于lst中的a: 如果len(a) 谢谢大家,我不知道为什么我没有在函数中使用for循环。

def strip(n='Hello,world!',x='':
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
如果类型(x)==“”: x=[x] 对于x中的i: l='' r=n.split(i)#如果不工作,则使用r=series.n.split(i)或r=pd.series.n.split(i),并将熊猫作为pd导入。 对于r中的j: l+=j n=l 返回n

这类似于
print(strip('Hello,world!',[','','',''!'))
。它将第一个参数(Hello,world!)剥离到第二个参数中的所有元素(一个空格、一个逗号和一个感叹号),使我们看到
Helloworld

是的,我想我说过,“剥离”会产生错误。很抱歉,我尽了最大努力学习我所懂的英语。哇,我不知道为什么我没有考虑把forloop放在函数中。。。非常感谢。看起来我仍然需要'strip'isndie我的函数是的,但是你可以在
if
语句之前调用
a=a.strip()
。注意:这包括
split()
,所以你可能需要panda。首先,你的答案不需要评论,只需要评论它。第二,
split
是内置的,它和熊猫有什么关系?@Tomerikoo:嗯,很抱歉输入错误,是熊猫。在一些编译器上,
split
,我认为它不是内置的,尽管这有点不同寻常。不过,熊猫也包括意甲联赛。有时,如果原始版本不起作用,我们需要在代码中使用它。我只是不知道熊猫在这里要做什么。。。op没有使用数据帧,
split
只是一个字符串方法
listo = ['esto', 'es', 'un', 'poco', 'dificil', 'y', 'si']

def func():
    for line in listo:
        aa = line.strip()
        if len(aa) ==2:
                print(aa)
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