[英]How can I write a Python function that will only accept a list with int or float type inside?
我需要編寫一個函數,該函數將采用 int 或 float 類型的列表。 如果有嵌套列表,函數必須返回“No”,如果只有 float 或 int 類型,函數必須返回“Yes”。 這是我的代碼
def take_list(lst):
for i in lst:
if isinstance(i, list) is True:
return "No"
elif isinstance(i, int) or isinstance(i, float):
return "Yes"
print(take_list([1, 2, [3, 2]]))
print(take_list([1, 2, 3, 2]))
但這里的答案總是“是”。 我嘗試了“type”而不是“isinstance”,所以它不起作用
使用type
怎么樣?
def take_list(lst):
# if all(isinstance(item, (int, float)) for item in lst): # another way
if all(type(item).__name__ in ['int', 'float'] for item in lst):
return "Yes"
else:
return "No"
print(take_list([1, 2, [3, 2]])) # No
print(take_list([1, 2, 3, 2, 1.2])) # Yes
type
是int
和float
類中的函數,使用___name___
獲取類名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.