简化python prin

2024-04-25 01:59:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个列表:

row = [u'28d07ef48e40', u'373ac79f615f', u'a3ec4faddbec', u'c0195f9568c6', u'cc4ebc7b826c', u'ccdfdb826c', u'cc4fa826c', u'cc4eeesb826c', u'ccfesb826c']

我的指纹是

fw.write("%s %s <%s> [%s] %s %s (%s) %s: %s" %(str(row[0]),str(row[1]),str(row[2]),str(row[3]),str(row[4]),str(row[5]),str(row[6]),str(row[7]),str(row[8])))

如何简化python打印?你知道吗


Tags: 列表writerow指纹strfwcc4ebc7b826ccc4eeesb826c
3条回答

格式字符串是最简单的形式。您可以“简化”到字符串的转换:

"%s %s <%s> [%s] %s %s (%s) %s: %s".format(map(str, row))

map(str, row)将对n行中的所有元素调用str(),并在2.7中返回一个列表,在3.7中返回迭代器。你知道吗

根据您的Python版本,您可以:

对于Python 3.6和以后的版本,请使用新的format-strings,这是最推荐的方法:

row = [u'28d07ef48e40', u'373ac79f615f', u'a3ec4faddbec', u'c0195f9568c6', u'cc4ebc7b826c', u'ccdfdb826c', u'cc4fa826c', u'cc4eeesb826c', u'ccfesb826c']

fw.write(f'{row[0]} {row[1]} [{row[2]}] ...')

对于Python 3的较低版本,可以使用str.format(),这是推荐的%格式:

fw.write('{} {} <{}> [{}] {} {} ({}) {}: {}'.format(row[0], row[1], row[2], ...)

对于Python 2,您可以继续使用%格式,但不需要对参数调用str(),这是自动完成的:

fw.write("%s %s <%s> [%s] %s %s (%s) %s: %s" % tuple(row))

*行运算符将打包列表

相关问题 更多 >