好吧,我需要创建一个定义为rootString的字符串,如下所示:
F:0.0
字母F来自前一个字符串,由以下字符获得:
root = str(newickString[-1])
浮点数0.0可以是这样的:
rootD = 0.0
我的问题是,如何将变量名和浮点值与冒号结合使用?
答案 0 :(得分:3)
>>> string = 'WWF'
>>> num = 0.0
>>> print ("{0}:{1}".format(string[-1],num))
F:0.0
在旧版本的Python(< 2.6)上,您需要执行以下操作:
"%s:%s" % (string[-1], num)
而不是
"{0}:{1}".format(string[-1],num)
答案 1 :(得分:1)
您可以使用+
符号并将它们连接在一起:
>>> old_string = 'oldF'
>>> float_val = 0.0
>>> rootString = old_string[-1] + ':' + str(float_val)
>>> print rootString
F:0.0
答案 2 :(得分:1)
Python中的字符串插值非常简单。对于大多数Python版本,您可以编写:
template = "%s:%f"
root = "F"
rootD = 0.0
result = template % (root, rootD)
# and result is "F:0.0"
查看http://docs.python.org/library/stdtypes.html#string-formatting
(请注意,如果您使用足够新的Python版本,则可能更喜欢在字符串上使用较新的.format
方法 - 请参阅http://docs.python.org/library/string.html#new-string-formatting)
答案 3 :(得分:0)
这是一种组合两个值的方法,并将它们打印出来。
string_value = 'BOF'
float_value = 0.0
print "%s:%s" % (string_value[-1], float_value)
>>F:0.0
答案 4 :(得分:0)
答案 5 :(得分:0)
如果您希望将变量存储为字符串(或建议的其他几种方法):
rootString = "%s:%s" % (root,rootD)
如果您打算稍后使用/更改该值,最好设置类似于此示例代码的类(另外您仍然可以轻松地打印字符串):
class rootString:
def __init__(self,root,rootD):
self.root = root
self.rootD = rootD
def getRoot(self):
return self.root
def getRootD(self):
return self.rootD
def setRoot(self, root):
self.root = root
def setRootD(self, rootD):
self.rootD = rootD
def __str__(self):
return "%s:%s" % (self.root,self.rootD)
if __name__=='__main__':
myRootStr = rootString("F",0.0)
print myRootStr #gives string output you want
print myRootStr.getRootD() #but you can still get the float easily
myRootStr.setRootD(3.14) #or change it if you need to
print myRootStr