打印数组没有包含特定字符串的项目?

时间:2016-10-17 04:36:23

标签: python python-2.7 printing

所以,如果我有这样的代码:

a = ["a", "b", "c", "null"] 

print a

由于某种原因,"null"的数量在输出中变化很大。 如何在打印前删除所有与"null"字符串匹配的数组元素?

4 个答案:

答案 0 :(得分:2)

过滤列表的一种简单方法是使用列表解析:

print([x for x in a if x != "null"])

答案 1 :(得分:2)

只需遍历您的列表即可打印出不等于" null"

的所有内容
a = ["a", "b", "c", "null"] 

for data in a:
    if data != "null":
        print(data)

如果您希望过滤掉您不希望在数据结构中使用的数据,那么,最简​​单的方法是在列表解析中执行此操作,这将删除不需要的" null& #34;

res = [data for data in a if data != "null"]

答案 2 :(得分:0)

@ m1ksu,我刚看到你上面要求的功能:见下文

a = ["a", "b", "c", "null"]
def remove_null(self):
    return [x for x in self if x != "null"]
asd = remove_null(a)
print asd

输出

['a', 'b', 'c']

答案 3 :(得分:0)

我得到的印象是,您希望将列表转换为带有函数的字符串,并在单独的行上显示每个数据元素,而不包含null。所以,这就是我的建议:

# remove null and convert list to string with function  
# and display results on separate lines

a = ["a", "b", "c", "null"] 

def str(A): 
    a = [data for data in A if data != "null"]
    aSTR = '\n'.join(a)
    return aSTR

print str(a)

运行代码here