Can someone explain how to use the repr function to format the output?
本问题已经有最佳答案,请猛点这里访问。
我想要以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | Tier0 = ['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'] Tier1 = ['Tier 1', 180,] Tier2 = ['Tier 2', 300,] Tier3 = ['Tier 3', 450,] Tier4 = ['Tier 4', 600,] Tier5 = ['Tier 5', 750,] data = [] data.append(Tier0) data.append(Tier1) data.append(Tier2) data.append(Tier3) data.append(Tier4) data.append(Tier5) data for Tier1 in data[1:]: Tier1.insert(1, float(input('Enter the weighted value of Tiers 1-5 as a decimal: '))) Tier1.insert(3, Tier1[1] * MissouriBusiness)#calculates the number of businesses Tier1.insert(4, Tier1[2] * Tier1[1] * MissouriBusiness)#calculates the revenue |
要更改的输出:
1 | [['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'], ['Tier 1', 0.2, 180, 40000.0, 7200000.0], ['Tier 2', 0.1, 300, 20000.0, 6000000.0], ['Tier 3', 0.3, 450, 60000.0, 27000000.0], ['Tier 4', 0.15, 600, 30000.0, 18000000.0], ['Tier 5', 0.2, 750, 40000.0, 30000000.0]] |
更美好的事物,比如:
1 2 3 4 5 6 | [['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'], ['Tier 1', 0.2, 180, 14000.0, 2520000.0], ['Tier2', 0.2, 300, 14000.0, 4200000.0], ['Tier3', 0.2, 450, 14000.0, 6300000.0], ['Tier4', 0.3, 600, 21000.0, 12600000.0], ['Tier5', 0.1, 750, 7000.0, 5250000.0]] |
Python文档有一个很好的例子,我似乎无法理解它是如何工作的。
1 2 3 4 5 6 7 8 9 10 | >>> for x in range(1, 11): ... print repr(x).rjust(2), repr(x*x).rjust(3), ... # Note trailing comma on previous line ... print repr(x*x*x).rjust(4) ... 1 1 1 2 4 8 3 9 27 4 16 64 5 25 125 |
这段代码来自于python的文档:https://docs.python.org/2/tutorial/inputout.html
对于这个repr函数是如何工作的,以及如何合并它的一个简化的解释将非常感谢,因为每当查看文档或其他类似的问题时,我都会看到乱七八糟的内容。
蒂亚
在您的例子中,当您在一个列表中调用
1 2 3 | >>> data = [['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'], ['Tier 1', 0.2, 180, 40000.0, 7200000.0], ['Tier 2', 0.1, 300, 20000.0, 6000000.0], ['Tier 3', 0.3, 450, 60000.0, 27000000.0], ['Tier 4', 0.15, 600, 30000.0, 18000000.0], ['Tier 5', 0.2, 750, 40000.0, 30000000.0]] >>> repr(data) "[['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'], ['Tier 1', 0.2, 180, 40000.0, 7200000.0], ['Tier 2', 0.1, 300, 20000.0, 6000000.0], ['Tier 3', 0.3, 450, 60000.0, 27000000.0], ['Tier 4', 0.15, 600, 30000.0, 18000000.0], ['Tier 5', 0.2, 750, 40000.0, 30000000.0]]" |
您提供的
1 2 3 4 | >>> repr(1) '1' >>> repr(1).rjust(3) ' 1' |
至于您的情况,您可以使用用于Python数据结构漂亮打印的
1 2 3 4 5 6 7 8 9 | >>> data = [['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'], ['Tier 1', 0.2, 180, 40000.0, 7200000.0], ['Tier 2', 0.1, 300, 20000.0, 6000000.0], ['Tier 3', 0.3, 450, 60000.0, 27000000.0], ['Tier 4', 0.15, 600, 30000.0, 18000000.0], ['Tier 5', 0.2, 750, 40000.0, 30000000.0]] >>> import pprint >>> pprint.pprint(data) [['Tier', 'Weights', 'Price', 'Number of Businesses', 'Revenue'], ['Tier 1', 0.2, 180, 40000.0, 7200000.0], ['Tier 2', 0.1, 300, 20000.0, 6000000.0], ['Tier 3', 0.3, 450, 60000.0, 27000000.0], ['Tier 4', 0.15, 600, 30000.0, 18000000.0], ['Tier 5', 0.2, 750, 40000.0, 30000000.0]] |
但如果你需要一些非常具体的东西,你可能需要自己滚印。