我正在循环遍历数据文件中的每一行(包含用空格分隔的“字段”的行),并希望将一个字段的子字符串与另一个静态值进行比较。如果比较为真,我想打印一个字符串“X”,否则为“Y”。只是想知道如何使用Python完成它。不胜感激。谢谢。
代码:-
for i in inputm[1:]:
print('\n',i[0].split(':')[0]
,str(datetime.strptime(i[0].split(':')[1],'%Y%m%d'))[:10]
,i[1],round(sum( float(v) if v else 0.0 for v in i[2:6])/4,2)
,i[6][0:23]
)
输入:-
1:20160101 123 10 20 0 0 http://www.google.com/favorites
2:20170101 234 20 30 10 0 http://www.doodle.com/favorites
输出:-
1 2016-01-01 123 7.5 Correct
2 2017-01-01 234 17.5 InCorrect
备注:-我对这段代码非常感兴趣。
i[6][0:23]
要将上述子字符串与http://www.google.com如果匹配,则打印正确,否则打印不正确。
不要试图一蹴而就,分而治之:
# read the lines
with open('myfile.txt', 'rb') as fp:
rows = fp.readlines()
# split the lines into fields
rows = [row.split() for row in rows]
# create a function to format field values
def fmt_row(row):
res = []
res += row[0].split(':') # split the first field on :
res += [float(field) for field in row[1:-1]] # convert all but first/last field to float
date = res[1]
res[1] = '%s-%s-%s' % (date[:4], date[4:6], date[6:])
return res
# convert/format all the rows
rows = [fmt_row(row) for row in rows]
# finally create the output
output = [[
row[0], # first output field
row[1], # second..
round(sum(row[2:-1]/4), 2),
'Correct' if row[-1] == 'http://www.google.com/favorites' else 'InCorrect'
] for row in rows]
# print the output?
print '\n'.join([' '.join(row) for row in output])
Python提供了如下三元风格的表达式语法:
value1 if condition else value2
您可以使用它来打印:
x = some_number()
print( 'X' if x < 10 else 'Y' )
问题内容: 我有一个简单的疑问。如果有人帮助我,那就太好了。 我有两个字符串: 这两个值相等,但是如何在Java中比较它们呢?我们拥有并用于比较字符串alpha值,类似地,如何比较数字值。 问题答案: 这就对了。您可以使用方法将数字字符串转换为整数,该方法将返回类型。然后比较与相同。
在与字符串进行比较时,我们可以使用或 在中,我们知道它检查引用,但在中它检查内容。 假设有两个字符串 字符串s=“SO”;字符串s1=“SO”; 所以在这种情况下,s1==s和s.equals(s1)都将为真。 但在这里它给了我错误 所以我假设比优先级高 所以在这种情况下 它将像(“s1)==s一样被拆分,现在“s1”将是一个新字符串,因此新字符串永远不会等于s,因此其打印错误 我只是想知道我的想
我试着比较两个值 我得到一个错误
我试图比较两个字符串并识别重复的单词。例如 比较String1和String2将返回单词;“名字”。 我知道有可能将这两个字符串拆分成一个单词数组,然后在二维数组中迭代每个字符串的每个单词。然而,在O(n^2)时,这在计算上是昂贵的,我想知道是否有更快的方法? 谢谢。 编辑:为了清晰起见更改了示例。
我正在尝试这个代码编写练习,我太迷路了! 它甚至不编译,但即使它编译了,我肯定它也不会工作。
问题内容: 我试图在z DBOpenHelper扩展SQLOpenHelper类中编写一个方法。它应该评估数据库中是否存在相同名称的条目。 这是Contact类的相关部分: 现在这是奇怪的事情: 方案A:其中和 等于false。Eclipse调试器显示名称的foo和cname的foo具有不同的id。这两个变量都按之前在代码中所示填充。 方案B:像这样加载变量的地方: 方案C:等于true …但是…