기본적으로 하나의 문자열을 출력하기 위해 항목을 집합으로 결합하려고합니다. 목록에 대한 조인 함수와 유사한 구문을 사용하려고합니다. 내 시도는 다음과 같습니다.
list = ["gathi-109","itcg-0932","mx1-35316"]
set_1 = set(list)
set_2 = set(["mx1-35316"])
set_3 = set_1 - set_2
print set_3.join(", ")
그러나이 오류가 발생합니다. AttributeError: 'set' object has no attribute 'join'
세트에 대한 동등한 호출은 무엇입니까?
답변
', '.join(set_3)
는 join
문자열 방식이 아닌 설정 방법입니다.
답변
집합에는 join
메서드가 없지만 str.join
대신 사용할 수 있습니다 .
', '.join(set_3)
이 str.join
메서드는 목록과 집합을 포함한 모든 반복 가능한 개체에서 작동합니다.
참고 : 정수를 포함하는 세트에서 사용하는 데주의하십시오. 조인을 호출하기 전에 정수를 문자열로 변환해야합니다. 예를 들면
set_4 = {1, 2}
', '.join(str(s) for s in set_4)
답변
는 join
문자열에 호출됩니다
print ", ".join(set_3)
답변
또한 그러한 방법 set
도 없으며 string에는 다음이 있습니다.list
join
','.join(set(['a','b','c']))
그런데 list
변수에 이름 을 사용해서는 안됩니다 . 그것을주고 list_
, my_list
때문에 또는 다른 이름을 list
자주 파이썬 함수를 사용한다.
답변
세트의 주문을하지 않는다 – 당신이 그렇게 할 수 는 집합, 즉으로 목록을 변환 할 때 주문을 잃게 :
>>> orderedVars = ['0', '1', '2', '3']
>>> setVars = set(orderedVars)
>>> print setVars
('4', '2', '3', '1')
일반적으로 순서는 유지되지만 큰 세트의 경우 거의 확실하지 않습니다.
마지막으로 사람들이 궁금해하는 경우 조인에 ‘,’가 필요하지 않습니다.
그냥 : ”.join (set)
🙂
답변
나는 당신이 그것을 거꾸로 가지고 있다고 생각합니다.
print ", ".join(set_3)
답변
조인 문이 거꾸로 시도됩니다.
print ', '.join(set_3)