📜  Python – 提取包含所有数字字符串的元组(1)

📅  最后修改于: 2023-12-03 15:34:08.700000             🧑  作者: Mango

Python - 提取包含所有数字字符串的元组

在Python中,有时候需要从元组中提取包含所有数字字符串的元组,可以使用以下方法:

def extract_numeric_tuples(input_tuples):
    result = []
    for tup in input_tuples:
        is_numeric_tuple = True
        for item in tup:
            if not isinstance(item, str) or not item.isdigit():
                is_numeric_tuple = False
                break
        if is_numeric_tuple:
            result.append(tup)
    return result

上述代码函数extract_numeric_tuples接收一个元组列表input_tuples,遍历每个元组tup,对于每个元组tup,遍历元组中的每个元素item,如果元素不是字符串或者不是数字,则跳过该元组tup。如果元组tup中的每个元素都是字符串且都是数字,则将该元组添加到结果列表result中,并最终返回result。

以下是使用示例:

input_tuples = [(1, '234', 3), ('567', '890', '123'), ('456', '123', '789')]
output = extract_numeric_tuples(input_tuples)
print(output) # [(1, '234', 3)]

上述示例中,input_tuples包含三个元组[(1, '234', 3), ('567', '890', '123'), ('456', '123', '789')],其中只有第一个元组(1, '234', 3)包含所有数字字符串,因此函数返回[(1, '234', 3)]。

总之,提取包含所有数字字符串的元组的方法是先遍历元组列表input_tuples,再遍历每个元组tup,对于每个元组tup,遍历元组中的每个元素item,如果元素不是字符串或者不是数字,则跳过该元组tup。如果元组tup中的每个元素都是字符串且都是数字,则将该元组添加到结果列表result中,并最终返回result。