我一直在尝试编写一个函数mytype(v),该函数执行与type()相同的操作,并且可以识别整数,浮点数,字符串和列表。有人指示我先使用str(v),然后再读取字符串。我快完成了,但是当我在mytype中输入一个集合,即mytype({1,2})时,我需要使该函数将其识别为字符串,但它一直说它是一个列表。我想知道如何修复我的代码,以便该函数将集合识别为字符串,而不是列表。这是我到目前为止的内容:
def mytype(v):
s = str(v)
import re
# Check if list
if re.search(r'[\[\]]',s):
return "<type 'list'>"
# Check if float
if re.search(r'[\d]+\.',s):
return "<type 'float'>"
# Check if int
if re.search(r'[\d]+',s):
return "<type 'int'>"
# anything that's not an int,float or list
return "<type 'string'>"