Python 如何正确使用deepcopy?
我试图将Python 如何正确使用deepcopy?,python,python-3.x,list,copy,breadth-first-search,Python,Python 3.x,List,Copy,Breadth First Search,我试图将票证(例如[“ICN”、“SFO”])添加到访问列表中。 但是我不明白这个代码的结果。。。 我以为只有包含两个数据的列表才会添加到访问的中,但它没有 from collections import deque from copy import deepcopy def solution(tickets): queue = deque([]) result = [] for t in tickets: if t[0] == "ICN&qu
票证
(例如[“ICN”、“SFO”])添加到访问
列表中。
但是我不明白这个代码的结果。。。
我以为只有包含两个数据的列表才会添加到访问的中,但它没有
from collections import deque
from copy import deepcopy
def solution(tickets):
queue = deque([])
result = []
for t in tickets:
if t[0] == "ICN":
queue.append((t,[t],1,t))
while queue:
route, visited, cnt, travel = queue.popleft()
print(route[0], visited)
if cnt == len(tickets):
result.append(travel)
start, dest = route[0], route[1]
for t in tickets:
visit = deepcopy(visited)
if t not in visit:
if t[0] == dest:
visit.append(t)
travel.append(t[1])
queue.append((t,visit,cnt+1,travel))
return result
# print(solution([["ICN", "JFK"], ["HND", "IAD"], ["JFK", "HND"]]))
t = [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]]
print(solution(t))