2013-05-22 5 views
1

튜플을 사용하여 문자열로 바꾸어서 redis 키로 만들고 싶습니다.대시로 파이썬의 튜플을 문자열 화하기

'-'를 시도했지만 출력이 좋지 않습니다. - 문자열의 모든 단일 문자 사이에 대시가 생깁니다. 누구든지 내 문자열 + '-'+ string2 ... 아래의 구조보다 나은 기능을 제안 할 수 있습니까?

감사합니다. 모든 항목이 문자열 인 경우가 아니기 때문에

matchkey = (mdate, season, aseries, homeclub, awayclub, court) 
mk = mdate + '-' + season + '-' aseries + '-' homeclub + '-' awayclub + '-' court 
+0

각 편지 나 다른 것 사이에 "_"을 사용하고 계십니까? (mdate + season + aseries + homeclub + awayclub + court)'? –

+0

은 각 문자 사이가 아닌 단어 사이에 대시를 사용합니다. 미래의 stringifier의 경우 튜플을 str() 한 다음 대시로 결합하려고하면 다음과 같이됩니다 : >>> mk1 = str (matchkey) >>> mk2 = '-'join (mk1) >>> print mk2 (- 2-0-1-1 --- 0-1 --- 0-5'-, -2-2-, ----- Winter--Club-1, -Knollwood-, - -2-) –

+0

아. 내가 참조. 그냥 잘못된 순서로하고있는 것입니다. –

답변

6
'-'.join(str(x) for x in matchkey) 
+9

무시한 변수에'_'을 일반적으로 사용합니다. – jamylak

+0

jamlak - 그 대회를 피하기 위해 무엇을 제안 하시겠습니까? –

+2

@ToddCurry +1 정답은 일반적인 경우'x'를 제안하지만 실제로는 중요하지 않습니다. 'el'도 잘 작동합니다. 또한''- ''할 수도 있습니다. join (map (str, matchkey))' – jamylak

5

당신은 단순히

'-'.join(matchkey) 

, 당신이 사용할 수있는 수 map

'-'.join(map(str, matchkey)) 

또는 발전기 표현

'-'.join(str(x) for x in matchkey) 
+0

도움, gnibbler - 내 레퍼토리에 추가 할지도를 살펴 보겠습니다. –

관련 문제