>source

다음과 같은 사전이 있습니다. Counter({'firstKey': 1708, 'secondKey': 1589, 'thirdKey': 1424})

두 가지 목록을 갖고 싶습니다.

첫 번째 목록에는 모든 키가 나열되어야합니다. ['firstKey', 'secondKey', 'thirdKey']

두 번째 목록은 모든 값을 나열해야합니다. [1708, 1589, 1424]

도와주세요

  • 답변 # 1

    시험 list(dict.keys())list(Counter.values())

    >>> counter= Counter({'firstKey': 1708, 'secondKey': 1589, 'thirdKey': 1424})
    >>> Keys = list(counter.keys())
    >>> Keys
    ['firstKey', 'secondKey', 'thirdKey']
    >>> Vals = list(counter.values())
    >>> Vals
    [1708, 1589, 1424]
    >>>
    
    

  • 답변 # 2

    사용 dict.keys()dict.values() 그리고 그들을 캐스팅 list :

    d = {'firstKey': 1708, 'secondKey': 1589, 'thirdKey': 1424}
    print(list(d.keys()))
    print(list(d.values()))
    
    

    산출:

    ['firstKey', 'thirdKey', 'secondKey']                                                                                                                          
    [1708, 1424, 1589]
    
    

  • 답변 # 3

    캐스트 list() 목록에있는 키를 가져 와서 캐스트하기 위해 사전에 list() ~로 dict.values() 목록에서 값을 얻으려면 :

    >>> from collections import Counter
    >>> d = Counter({'firstKey': 1708, 'secondKey': 1589, 'thirdKey': 1424})
    >>> l1 = list(d)
    >>> l1
    ['firstKey', 'secondKey', 'thirdKey']
    >>> l2 = list(d.values())
    >>> l2
    [1708, 1589, 1424]
    
    

    또한 사용할 수 있습니다 dict.keys() :

    >>> l1 = list(d.keys())
    >>> l1
    ['firstKey', 'secondKey', 'thirdKey']
    
    

    하지만 그 이후로 정말 필요하지 않습니다 list(d) 기본적으로 키를 제공합니다.

  • 답변 # 4

    다음과 같이 한 줄에 두 개의 목록 변수를 할당 할 수 있습니다.

    d = Counter({'firstKey': 1708, 'secondKey': 1589, 'thirdKey': 1424})
    keys,values = map(list,zip(*d.items()))
    
    

    산출:

    print(keys)
    print(values)
    ['firstKey', 'secondKey', 'thirdKey']
    [1708, 1589, 1424]
    
    

관련 자료

  • 이전 c# - 파괴 가능한 객체에 대한 스크립트를 작성했지만 특정 시간이 지나도 파괴 된 객체가 깨지지 않습니까?
  • 다음 javascript - 배열을 반복하고 요소를 데이터 속성으로 사용