python - 是否有 return 最大整数但不是从列表中浮点数的函数
python - is there a function to return the maximum integer but not float from a list
我正在尝试编写一个接受列表的函数,然后 return 列表的长度乘以列表中最大的整数(非浮点数),如果列表不包含整数,它需要 return 一个空字符串。
我一直在尝试使用 max 函数,但我不知道如何只调用最大整数而不是浮点数,或者有没有办法首先对列表进行排序以仅查看整数?
您或许可以使用 if 语句来检查数字是否为整数
我不知道是否有函数但是你可以创建,如果你有一个列表L=[1,2,1.1,5,45,56.4]
你可以在循环中测试你的整数,
for i in L:
if (int(i)=i)
如果它是一个整数,则创建一个新列表并将其排序为较大的列表。
作为一个班轮你可以做:
max([i for i in data if type(i) == int])
如果没有 int,这将引发错误,因此您必须捕获它。
如果你需要空字符串,你可以这样做
int_data = [i for i in data if type(i) == int]
if len(int_data) == 0:
print("")
else:
print(len(data) * max(int_data))
如果我理解正确你想做什么,这应该有效:
def return_max_times_len(l):
lst_int = [i for i in l if isinstance(i, int)]
if len(lst_int) > 0:
return len(l) * max(lst_int)
return ""
在这里。
def lili(list: list) -> int:
if all(isinstance(item, int) for item in list): # Check if all element in the list are integer
return len(list) * max(list)
return None
print(lili([2, 3, 4, 5, 6]))
有什么不懂的可以私信我,我会解释的更清楚。
我认为这可能对您有所帮助:)
def func(lst):
length = 0
flag = False
eps = 0.000001
max = -inf
for elem in lst:
length += 1
if (abs(elem - int(elem)) <= eps) and (elem >= max):
max = elem
flag = True
if flag:
print(max * length)
else:
print("")
您可以使用以下构造来获取列表中包含的整数的频率
from collections import defaultdict
counts = defaultdict(int)
numbers = [3, 4.5, 6, 3.2, 7.8, 6]
for num in numbers:
if type(num) == int:
counts[num] += 1
largest_integer = max(counts)
frequency = counts[largest_integer]
字典 'counts' 将包含列表 'numbers' 中包含的整数的频率。 'counts'的结构如下:
{integer1: times_met, integer2: times_met...}
我正在尝试编写一个接受列表的函数,然后 return 列表的长度乘以列表中最大的整数(非浮点数),如果列表不包含整数,它需要 return 一个空字符串。
我一直在尝试使用 max 函数,但我不知道如何只调用最大整数而不是浮点数,或者有没有办法首先对列表进行排序以仅查看整数?
您或许可以使用 if 语句来检查数字是否为整数
我不知道是否有函数但是你可以创建,如果你有一个列表L=[1,2,1.1,5,45,56.4]
你可以在循环中测试你的整数,
for i in L:
if (int(i)=i)
如果它是一个整数,则创建一个新列表并将其排序为较大的列表。
作为一个班轮你可以做:
max([i for i in data if type(i) == int])
如果没有 int,这将引发错误,因此您必须捕获它。
如果你需要空字符串,你可以这样做
int_data = [i for i in data if type(i) == int]
if len(int_data) == 0:
print("")
else:
print(len(data) * max(int_data))
如果我理解正确你想做什么,这应该有效:
def return_max_times_len(l):
lst_int = [i for i in l if isinstance(i, int)]
if len(lst_int) > 0:
return len(l) * max(lst_int)
return ""
在这里。
def lili(list: list) -> int:
if all(isinstance(item, int) for item in list): # Check if all element in the list are integer
return len(list) * max(list)
return None
print(lili([2, 3, 4, 5, 6]))
有什么不懂的可以私信我,我会解释的更清楚。
我认为这可能对您有所帮助:)
def func(lst):
length = 0
flag = False
eps = 0.000001
max = -inf
for elem in lst:
length += 1
if (abs(elem - int(elem)) <= eps) and (elem >= max):
max = elem
flag = True
if flag:
print(max * length)
else:
print("")
您可以使用以下构造来获取列表中包含的整数的频率
from collections import defaultdict
counts = defaultdict(int)
numbers = [3, 4.5, 6, 3.2, 7.8, 6]
for num in numbers:
if type(num) == int:
counts[num] += 1
largest_integer = max(counts)
frequency = counts[largest_integer]
字典 'counts' 将包含列表 'numbers' 中包含的整数的频率。 'counts'的结构如下:
{integer1: times_met, integer2: times_met...}