1

我有以下代码

F_list= []
C_list= []
C_approx_list = []
for F in range(0,101,10):
    F_list.append(F)
    C_approx_list.append((F-30)/2.)
    C_list.append((F-32)*(5./9))

conversion = [F_list,C_approx_list,C_list]

for list in conversion:
    for number in list:
        print number

使用以下输出:

"""Test Execution
Terminal > python exercise2_18.py
0
10
20
30
40
50
60
70
80
90
100
-15.0
-10.0
-5.0
0.0
5.0
10.0
15.0
20.0
25.0
30.0
35.0
-17.7777777778
-12.2222222222
-6.66666666667
-1.11111111111
4.44444444444
10.0
15.5555555556
21.1111111111
26.6666666667
32.2222222222
37.7777777778
"""

我希望这三个列表改为以下形式:

F_list C_approx C_list

代替:

  1. F_list
  2. C_约
  3. C_list

感谢您提供任何可能的答案!

4

2 回答 2

3
for a,b,c in zip(F_list, C_approx_list, C_list)
    print(a,b,c)

或者对于可能更容易阅读的输出

for a,b,c in zip(F_list, C_approx_list, C_list)
    print('{}\t{}\t{}'.format(a,b,c))

或更简单的 Python 3.X

for a,b,c in zip(F_list, C_approx_list, C_list)
    print(a,b,c, sep='\t')
于 2012-11-07T16:46:30.703 回答
1

您可以使用列表推导来编写:

conversion = [(F, (F-30)/2., (F-32)*(5./9)) for F in range(0,101,10)]

for line in conversion:
    print temp[0], temp[1], temp[2]
    # print(*temp)                           # in python3

您可以使用以下命令移至以前的列表zip

F_list, C_approx_list, C_list = zip(*conversion)
于 2012-11-07T17:23:17.347 回答