사용자가 사전 (또는 단수) 목록에서 문자열 키 항목을 제거 할 수 있도록하는 가장 좋은 방법은 무엇입니까?사전에서 키를 제거하는 사용자 목록
지금까지 내가 여기있는 곳입니다.
내 사전에서 값을 제거합니다 (사전은 생성 될 수 있으므로 변경 될 수 있음).
d = {'Seven': 22, 'Six': 0, 'Three': 35, 'Two': 0, 'Four': 45, 'Five': 34, 'Eight': 0}
1) 그래서 어떻게하면 첫 번째 쿼리가 입력됩니까? 이것은 내 시도 였지만 실패했습니다.
>>> s = raw_input('1 2 3 4')
1 2 3 4
>>> numbers = map(str, s.split())
>>> numbers
[]
>>> s = raw_input('1 2 3 4')
1 2 3 4
>>> numbers = map(int, s.split())
>>> numbers
[]
2) int를 단어 형식으로 변환하는 방법은 무엇입니까? 범위가 제한되어 있으므로 사전당 20 개를 초과 할 수 없습니다. 그래서 처음 생각은 정보를 해석 할 수있는 종류의 키를 만드는 것이 었습니다.
e = {'One': 1, 'Two': 2, 'Three': 3, 'Four': 4}
이 작업은 예상대로 작동하지 않으며 하나의 항목 만 제거합니다.
>>> e = {'One': 1, 'Two': 2, 'Three': 3, 'Four': 4}
>>> {k:v for k,v in e.items() if v!=(1 and 3)}
{'Four': 4, 'Two': 2, 'One': 1}
제 의도는 d가 아닌 e에서 값을 제거하는 것입니다. 사용자가 입력 할 항목이 얼마나 많은지 모르므로 실용적이지 않으므로 '및'문을 사용하는 것이 잘못되었습니다.
에 결과를 재 할당하는 것입니다? – sayth
@sayth 몇 가지 변경 사항으로 내 대답을 업데이트했습니다. – aIKid
뭔가가 작동하지 않는 것 같습니다 >>> s = raw_input ("숫자 입력 :") 숫자 입력 : 1 2 3 4 >>> s '1 2 3 4' >>> numbers = map (int, s.split()) >>> 숫자 [1, 2, 3, 4] >>> m = [1, 2, 3, 4, , 'Six', 'Seven', 'Eight'] >>> e = [i가 있으면 i의 경우] >>> e [] >>> e = [i는 m 내가 숫자라면] >>> e [] – sayth