2013-07-20 4 views
0

id3에서 가져온 목록이 있습니다. 태그 .mp3에서. 목록을 인쇄 할 때 문자열과 튜플이 유니 코드와 섞여 있습니다.유니 코드로 된 문자열과 튜플을 포함하는 다양한 목록 정리하기

나는 목록에서 스트레이트 프린트로 다음을 얻는다.

[('album', [u'Singles']), ('artist', [u'Led Zeppelin']), ('title', [u'Kashmir'])] 

나는이 갖고 싶어 :

앨범의 싱글을, 아티스트 레드 제플린, 제목 카슈미르

나는 다음과 같은 사용하는 것을 시도했다 :

: 인쇄

nvar = filter(lambda x: x!="[u'" and x!="(" and x!=")" and x!="]", var) 

[('album', [u'Singles']), ('artist', [u'Led Zeppelin']), ('title', [u'Kashmir'])] 

다음을 사용할 수 있습니다 :

>>> nvar = filter(lambda x: x!="[" and x!="'" and x!="(" and x!=")" and x!="]", str(var)) 
>>> nvar 
'album, uSingles, artist, uLed Zeppelin, title, uKashmir' 

그러나 나는 유니 코드에서 유를 남겼습니다. x! = "u"를 사용하면 그 함수가 실행 된 후 u가있는 단어가 잘못됩니다.

또한이 작업을 수행하는 어려운 방법 인 것 같습니다.

아이디어가 있으십니까? 미리 감사드립니다. 아래 작업을해야 같은

tags = [('album', [u'Singles']), ('artist', [u'Led Zeppelin']), ('title', [u'Kashmir'])] 
print ', '.join('{} {}'.format(el[0], el[1][0]) for el in tags) 
# album Singles, artist Led Zeppelin, title Kashmir 

답변

1

. 'U'는 '('및 '는 영향을주지 않습니다 ""'진짜 '데이터 사이입니다.

def Plain(self, U_String) : 
      P_String = str(U_String) 
      m=re.search("^\(\u?\'(.*)\'\,\)$", P_String) 
      if (m) : #Typical unicode 
      P_String = m.group(1).decode("utf8") 
      return P_String 
+0

존, 당신은 슈퍼 굉장하다! 주셔서 감사합니다. 그래서 더 간단하고 청소기! –

0

뭔가 : tags 다음 (STR, 목록)의 2 튜플을 포함하는 파이썬 목록이 참이라고 가정

관련 문제