2010-03-29 4 views
0

그리고 그 사이에 공백이있는 값의 큰 얼룩이 있습니까?사전이 있다고 가정합니다. 모든 키를 제거하려면 어떻게해야합니까? 편집 : 이것은 중첩 된 사전

편집 : 중첩 된 사전이 있다면 어떻게 될까요? 내 값이 모두 문자열 인 경우 현재 솔루션이 작동합니다. 그러나 내 값이 중첩 된 사전이라면 어떻게해야할까요?

>>> d = { 1 : 'foo', 2 : 'bar' } 
>>> ' '.join(d.values()) 
'foo bar' 

하지 않으면, 당신은 예를 str에 사용 문자열로 변환 할 수 있습니다 : 값을 가정

+1

이것들은 모양이나 형태로 정렬되지 않는다는 것을 알고 있습니까? – Powertieke

답변

2

이미 문자열

>>> d = { 1 : 2, 3: 4 } 
>>> ' '.join(str(v) for v in d.values()) 
'2 4' 
+0

사전이 중첩 된 경우 어떻게됩니까? – TIMEX

1
>>> a = {1: 'hello', 2: 'world'} 
>>> a.values() 
['hello', 'world'] 
>>> ' '.join(a.values()) 
'hello world' 
+0

그리고 키리스트를위한 a.keys(). iterkeys()와 itervalues ​​()도 iterators를 얻는다고 생각합니다. – ony

+0

@ony : iterkeys, itervalues ​​및 iteritems는 Python 3에서 작동하지 않음에 유의하십시오. –

0

원하는 경우 값에서 사전을 값으로 포함하는 사전을 다음과 같이 시도하십시오.

In [1]: from itertools import chain 
In [2]: d = {'A': {1: 'pants', 2: 'trowsers'}, 'B': {'1': 'spam', '2': 'eggs'}} 
In [3]: values = ' '.join(chain.from_iterable(dic.itervalues() for dic in d.itervalues())) 
In [4]: values 
Out[4]: 'pants trowsers spam eggs' 
관련 문제