如何搜索包含字符串的文件,并创建仅包含整数的新数组

时间:2019-03-27 02:39:54

标签: python arrays string search int

如果我有一个仅包含字符串的数组,但其中一些是数字,我将如何搜索该数组,确定哪些字符串实际上是数字,然后将这些数字添加到新数组中?数组的示例如下:[“ 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”功能 编辑:我发现我的问题是列表实际上是列表列表。

3 个答案:

答案 0 :(得分:2)

使用列表理解,还利用Python for的for-each属性,而不是遍历索引:

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))

答案 1 :(得分:0)

假设您要尝试的是整数,则可以执行以下操作:

//拍摄from,然后将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)]

答案 2 :(得分:0)

如果要获取int列表:

clang-completer