遍历列表,如果满足条件则打印可迭代

时间:2016-01-22 22:35:28

标签: python if-statement for-loop

我有一个包含随机项目的列表,其中一些包含数字和字母。

my_list = ["a a1", "b 2b", "c c", "d d"]

我需要打印只包含字母的项目。 我试过了

for i in my_list:
    for j in i.split():
        if j.isalpha():
            print j

但它只返回

c c
d d 

我也试过

for i in my_list: 
    if any(n.isalpha() for n in i.split()):
        print n

但它返回

NameError: name 'i' is not defined

我还需要打印my_list的初始内容,从字母中减去数字所以它看起来应该是这样的

a a
b b
c c
d d

我试过了:

for i in my_list:
    if all(n.isalpha() for n in i.split()):
        print i.title()
    elif any(n.isalpha() == False for n in i.split()):
        print n

但发生上述错误

NameError: name 'n' is not defined

所以在带有“a a1”的例子中,我需要找到不包含数字的字符串部分并打印它,找到包含数字的部分,减去它并打印。我对此感到困惑。

2 个答案:

答案 0 :(得分:0)

for i in my_list:
   if all([j.isalpha() for j in i.split()]):
          print i #this will print the whole item e.g c c 

答案 1 :(得分:0)

for i in my_list:
    for j in i:
        if j.isalpha():
            print j

由于您没有指定输出所需的格式。这将做你想要的。你虽然很近。