📅  最后修改于: 2023-12-03 15:34:08.700000             🧑  作者: Mango
在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。