[英]Python isspace function
我在使用isspace函數時遇到困難。 知道為什么我的代碼是錯誤的,以及如何解決它嗎?
這是問題所在:實現get_num_of_non_WS_characters()函數。 get_num_of_non_WS_characters()具有字符串參數,並返回字符串中的字符數(不包括所有空格)。
這是我的代碼:
def get_num_of_non_WS_characters(s):
count = 0
for char in s:
if char.isspace():
count = count + 1
return count
你要非空白,所以你應該使用not
def get_num_of_non_WS_characters(s):
count = 0
for char in s:
if not char.isspace():
count += 1
return count
>>> get_num_of_non_WS_characters('hello')
5
>>> get_num_of_non_WS_characters('hello ')
5
為了完整起見,可以使用生成器表達式更簡潔地完成此操作
def get_num_of_non_WS_characters(s):
return sum(1 for char in s if not char.isspace())
另外,您也可以簡單地執行以下操作:
def get_num_of_non_WS_characters(s):
return len(''.join(s.split()))
然后
s = 'i am a string'
get_num_of_non_WS_characters(s)
將返回10
這還將刪除制表符和換行符:
s = 'i am a string\nwith line break'
''.join(s.split())
會給
'iamastringwithlinebreak'
@CoryKramer答案的簡短版本:
def get_num_of_non_WS_characters(s):
return sum(not c.isspace() for c in s)
我只會使用n = s.replace(“”,“”)然后是len(n)。 否則,我認為您應該在if語句之后增加計數,並在其中添加繼續。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.