2017-12-10 5 views
0

2D 목록의 특정 지점에 다른 번호가있는 번호를 추가하려고합니다.2D 목록의 특정 위치에 특정 번호 추가

# Create UAS database list that was displayed in the file 
uas_Stock = [["CS116",1],["CS117",1],["CS118",1],["CS119",1],["CS120",1]] 

# Ask user to select which UAV they want to check out. 
uas_out = input("Which UAV would you like to checkout? ") 

# Append stock list to show UAS is checked out 
if uas_out == "CS116": 
    uas_Stock.insert(0, [0]) 
elif uas_out == "CS117": 
    uas_Stock.insert(1, [0]) 
elif uas_out == "CS118": 
    uas_Stock.insert(2, [0]) 
elif uas_out == "CS119": 
    uas_Stock.insert(3, [0]) 
elif uas_out == "CS120": 
    uas_Stock.insert(4, [0]) 
else: 
    print("That input is not a valid UAS ID in our system.") 

CS117을 선택하면 if/else 문을 통해 CS117로 실행됩니다. 그러면 1이 현재 uas_Stock 목록에있는 곳에 0을 삽입합니다.

대신 1 부분 대신 목록의 CS117 부분에 0을 삽입합니다. 나는 그것을 할 다른 방법을 시도했지만 subscriptable 등 "int"개체와 같은 오류가 발생합니다.

답변

0

나는

uas_Stock = [["CS116",1],["CS117",1],["CS118",1],["CS119",1],["CS120",1]] 

# Ask user to select which UAV they want to check out. 
uas_out = input("Which UAV would you like to checkout? ") 

# Append stock list to show UAS is checked out 
found = False 
for stock_list in uas_Stock: 
    if stock_list[0] == uas_out: 
     stock_list[1] = 0 
     found = True 
     break 
if not found: 
    print("That input is not a valid UAS ID in our system.") 

이 목록을 검색하고, 발견 된 경우 0으로 번호를 변경 ... 이것은 당신이 예상 된 결과를 게시하지 않았기 때문에이 명확하지 비록 당신이 원하는 것을 생각 UAS.

샘플 실행 :

Which UAV would you like to checkout? CS117 
>>> print(uas_Stock) 
[['CS116', 1], ['CS117', 0], ['CS118', 1], ['CS119', 1], ['CS120', 1]] 

당신은 에서, 외부 목록에 새 목록을 삽입했다 (내가 생각하는) 당신이 정말로 내부 목록에 값을 대체 이었다 싶었던 무엇을하면서 .

관련 문제