如何在字符串列表中查找数字/数字,如果数字/数字存在,则替换为1,否则为0?

时间:2019-02-02 10:50:29

标签: python python-3.6 data-analysis python-3.7

lst = ['ihave10apples','mystudentneedgallons','Iwant20computers','MystudentsneedaDellChromebook3120andGoogleEDUManagementConsoleLicense.' ]

因此字符串列表中有数字,例如lst[0]10作为数字,因此如何用1替换整个字符串,类似地在lst[1]中字符串中没有数字,怎么用0替换。

1 个答案:

答案 0 :(得分:1)

您可以测试单词是否包含数字,例如:

any(letter.isdigit() for letter in word)

这将返回一个布尔值,具体取决于单词是否具有数字。您可以将其扩展为具有另一个列表理解级别的单词列表,并在此过程中将布尔值转换为10

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]