我正在尝试在python中编写一个函数,它将确定字符串中的值的类型; 例如
如果in string为1或0或True或False,则该值为BIT
如果in string为0-9*,则值为INT
如果在字符串中是0-9 + .0-9 +,则该值为float
如果在字符串中是stg更多(文本等)值是文本
到目前为止,我已经喜欢了
def dataType(string):
odp=''
patternBIT=re.compile('[01]')
patternINT=re.compile('[0-9]+')
patternFLOAT=re.compile('[0-9]+\.[0-9]+')
patternTEXT=re.compile('[a-zA-Z0-9]+')
if patternTEXT.match(string):
odp= "text"
if patternFLOAT.match(string):
odp= "FLOAT"
if patternINT.match(string):
odp= "INT"
if patternBIT.match(string):
odp= "BIT"
return odp
Run Code Online (Sandbox Code Playgroud)
但是我在python中使用正则表达式并不是很熟练.你能告诉我,我做错了什么?例如,它不适用于2010-00-10,它应该是Text,但是INT或20.90,它应该是float但是是int
我有
class rel:
child=''
parent=''
listPar=[]
Run Code Online (Sandbox Code Playgroud)
在listPar中,我有一个这些类的列表(对不起,我不确定它是否被称为类,是吗?)所以在listPar中我有例如:room book; 书名 ; 房间书;书名
现在我试图删除所有非独特的出现,所以我想只有
房间预订; listPar中的书名
我们假设,我有以下代码:
variable="Book"
variable2="Author"
toIns=rel()
toIns.parent=variable
toIns.child=variable2
listPar.append(toIns)
toIns2=rel()
toIns2.parent=variable
toIns2.child=variable2
listPar.append(toIns2)
Run Code Online (Sandbox Code Playgroud)
现在如何删除所有重复?(结果 - >
for elem in listPar:
print "child:",elem.child,"parent:",elem.parent
#child:author, parent:book
Run Code Online (Sandbox Code Playgroud)
我尝试了几件事,但似乎没有一件事能够完全发挥作用.你能帮助我吗?