import re
def sum_by_types(items):
num_list = [x for x in items if f'{x}'.isdigit()]
str_list = [x for x in items if not f'{x}'.isdigit()]
return num_list, str_list
print(sum_by_types([])) #== ("", 0)
print(sum_by_types([1, 2, 3])) #== ("", 6)
print(sum_by_types(["1", 2, 3])) #== ("1", 5)
print(sum_by_types(["1", "2", 3])) #== ("12", 3)
print(sum_by_types(["1", "2", "3"])) #== ("123", 0)
print(sum_by_types(["size", 12, "in", 45, 0])) #== ("sizein", 57)
任务: - 返回 2 个值。第一个是给定列表中所有字符串的串联。第二个是给定列表中所有整数的总和。
我无法理解如何从列表中选择数字 isdigit() 试过了。还有其他方法吗?
您需要检查元素的类型(isinstance):