猿问

如何搜索包含字符串的 arry,并创建一个只有整数的新数组

如果我有一个只包含字符串的数组,但其中一些是数字,我将如何搜索数组,确定哪些字符串实际上是数字,并将这些数字添加到新数组中?数组的一个例子如下: [ "Chris" , "90" , "Dave" , "76" ]


我已经尝试使用 for 循环在每个索引上连续使用 isdigit() ,如果该项目为真,则将该项目添加到新数组中。


scores = []

    for i in range(len(name_and_score_split)):

        if name_and_score_split[i].isdigit() == True:

            scores.append(name_and_score_split[i])

当上面的代码运行时,它告诉我列表数据类型没有“isdigit”功能编辑:我发现我的问题是列表实际上是一个列表列表。


MMMHUHU
浏览 174回答 3
3回答

叮当猫咪

使用列表理解并利用 Python 的 for-each 属性for而不是迭代索引:lst = ["Chris" , "90" , "Dave" , "76"]scores = [x for x in lst if x.isdigit()]# ['90', '76']或者,filter您的清单:scores = list(filter(lambda x: x.isdigit(), lst))

哈士奇WWW

如果你想要 int 列表:s = ["Chris", "90", "Dave", "76"]e = [int(i) for i in s if i.isdigit()]print(e)# OUTPUT: [90, 76]

小怪兽爱吃肉

假设您正在尝试什么,如果对于整数,您可以执行以下操作://两者的和不断变化float的int。def is_number(s):    try:        int(s)        return True    except ValueError:        return False然后你可以做[x for x in name_and_score_split if is_number(x)]
随时随地看视频慕课网APP

相关分类

Python
我要回答