Python 从列表中删除特定字符

Python 从列表中删除特定字符,python,python-3.x,list-manipulation,Python,Python 3.x,List Manipulation,我想知道的是,Python库中是否有一个内置函数可以从列表中删除特定字符 例如: 在这种情况下,我想从列表中删除所有的零,我将如何做到这一点 [76499618373903541704700923371133789862262100000000000000000000000] 注意:此列表只有1个值您必须除以10,只要该数字可被10整除: def remove_zeros(number): while number and number % 10 == 0: numbe

我想知道的是,Python库中是否有一个内置函数可以从列表中删除特定字符

例如:

在这种情况下,我想从列表中删除所有的零,我将如何做到这一点

[76499618373903541704700923371133789862262100000000000000000000000]

注意:此列表只有1个值

您必须除以10,只要该数字可被10整除:

def remove_zeros(number):
    while number and number % 10 == 0:
        number //= 10
    return number

number_in_a_list = [764996183739035417047009233711337898622621000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000]

result = [remove_zeros(n) for n in number_in_a_list]

最简单的方法是将其转换为字符串,并从最后一个字符串中去掉零:

nums =[7649900000000000000]
result = [int(str(n).rstrip('0')) for n in nums]
print result  # You will get: [76499]

这是价值清单吗?[x,y…..z]?这是一个列表,只有一个值我已经发布了答案。我的疑问是,为什么您只在列表中存储一个值?如果我的列表是这样的,这会起作用吗:nums=[769845485004540]?是的,结果将是76984548500454。如果你亲自尝试,你会得到更好的主意,而不是问。Python是一种很棒的语言。花点时间玩它。:)
>>> f = lambda n: n % 10 ==0 and f(n//10) or n
>>> f(764996183739035417047009233711337898622621000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
764996183739035417047009233711337898622621