lst = ['ihave10apples','mystudentneedgallons','Iwant20computers','MystudentsneedaDellChromebook3120andGoogleEDUManagementConsoleLicense.' ]
因此字符串列表中有数字,例如lst[0]
以10
作为数字,因此如何用1
替换整个字符串,类似地在lst[1]
中字符串中没有数字,怎么用0
替换。
答案 0 :(得分:1)
您可以测试单词是否包含数字,例如:
any(letter.isdigit() for letter in word)
这将返回一个布尔值,具体取决于单词是否具有数字。您可以将其扩展为具有另一个列表理解级别的单词列表,并在此过程中将布尔值转换为1
或0
:
lst = ['ihave10apples','mystudentneedgallons','Iwant20computers','Mystudentsneedtabletstodoallthethingsthatwillmakethemsuccessfulinthis21stcenturylearningenvironment.','MystudentsneedaDellChromebook3120andGoogleEDUManagementConsoleLicense.' ]
nums = [int(any(i.isdigit() for i in w)) for w in lst]
print(nums)
结果:
[1, 0, 1, 1, 1]