我有一个列表,其中包含各种客户端的服务时间,我想循环遍历此列表并每秒减少服务时间
import time
def mylist():
active_clients.append((1,20))
t = list(active_clients)
print "service time = %s" ,t[0][1]
print type(t)
while(t[0][1] > 0):
old_service_time = t[0][1]
t[0][1] = old_service_time -1
time.sleep(1)
if __name__ == '__main__':
active_clients = []
mylist()
我知道元组是不可变的,因此我使用list()进行转换,但为什么我仍然无法减少服务时间值?
答案 0 :(得分:3)
但是,列表中的元素仍然是元组。尝试:
t = list(map(list, active_clients))
这确保t
及其元素实际上都是lists
并且可变。
答案 1 :(得分:0)
正如@schwobaseggl所指出的那样是工作代码片段
import time
def mylist():
active_clients.append((1,20))
t = list(map(list, active_clients))
while(t[0][1] > 0):
print "service time =", t[0][1]
t[0][1] = t[0][1] - 1
time.sleep(1)
if __name__ == '__main__':
active_clients = []
mylist()