我需要将从excel获得的字符串转换为整数.为此,我使用CInt(),效果很好.但是,字符串可能不是数字,在这种情况下我需要将整数设置为0.目前我有:
If oXLSheet2.Cells(4, 6).Value <> "example string" Then
currentLoad = CInt(oXLSheet2.Cells(4, 6).Value)
Else
currentLoad = 0
End If
Run Code Online (Sandbox Code Playgroud)
问题是我无法预测可能在此单元格中的所有可能的非数字字符串.有没有办法可以告诉它转换如果它是一个整数,如果没有则设置为0?
我有一个字符串,其中包含linux系统上目录地址的用户输入.我需要检查它是否格式正确,可能是Python 2.6中的地址.重要的是要注意,这不是在当前系统上,因此我无法使用os.path检查它是否存在,也不能尝试创建目录,因为该函数将运行多次.
这些字符串将永远是绝对路径,所以我的第一个想法是寻找一个领先的斜杠.从那里我想知道检查字符串的其余部分是否只包含有效字符,并且不包含任何双斜杠.这看起来有点笨重,还有其他想法吗?
我正在尝试计算Python中值列表的模式(最常见的值).我提出了一个解决方案,无论如何都给出了错误的答案,但后来我才意识到我的数据可能是短期的;
ie 1,1,2,3,4,4 mode = 1 & 4
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止提出的:
def mode(valueList):
frequencies = {}
for value in valueList:
if value in frequencies:
frequencies[value] += 1
else:
frequencies[value] = 1
mode = max(frequencies.itervalues())
return mode
Run Code Online (Sandbox Code Playgroud)
我认为这里的问题是我输出的值而不是最大值的指针.无论如何,任何人都可以建议一个更好的方法,这可以在有多个模式的情况下工作吗?或者说我怎么能解决到目前为止我所得到的并确定单一模式?
你可能会说我对python很新,谢谢你的帮助.
编辑:应该提到我在Python 2.4中
是否可以定义一个函数,然后将函数的副本分配给不同的变量?
这基本上是我有多远......
function add(x, y){
return x + y;
}
var function1 = new add()
var function2 = new add()
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,因为它每次都试图运行add函数.同样的道理
var function1 = new function add()
Run Code Online (Sandbox Code Playgroud)
我是否需要以某种方式使用原型或者我是以错误的方式看待它?