将列表操作的结果分配给var

时间:2011-12-02 16:38:04

标签: python

在python中,

我该怎么做呢

a = ["pera", "uva", "maca", "saladamista"]
b = a.reverse()

但没有将反向列表分配给a

2 个答案:

答案 0 :(得分:7)

首先复制列表,然后反转副本:

a = ["pera", "uva", "maca", "saladamista"]
b = a[:]
b.reverse()

或使用“火星笑脸”:

b = a[::-1]

编辑:如果有人对时间感兴趣,请点击此处:

In [1]: a = range(100000)

In [2]: %timeit b = a[:]; b.reverse()
1000 loops, best of 3: 436 us per loop

In [3]: %timeit b = a[::-1]          
1000 loops, best of 3: 414 us per loop

In [4]: %timeit b = list(reversed(a))
1000 loops, best of 3: 823 us per loop

答案 1 :(得分:6)

请改为尝试:

b = list(reversed(a))