파이썬에서 목록 항목 세트를 구성하는 방법은 무엇입니까?
나는이 list
파이썬에서 파일 이름을 내가는 구성 할 것입니다 set
모든 파일 이름의 아웃.
filelist=[]
for filename in filelist:
set(filename)
이것은 작동하지 않는 것 같습니다. 어떻게 할 수 있습니까?
해시 가능한 객체 목록이있는 경우 (파일 이름은 문자열 일 수 있으므로 계산해야합니다) :
lst = ['foo.py', 'bar.py', 'baz.py', 'qux.py', Ellipsis]
세트를 직접 구성 할 수 있습니다.
s = set(lst)
사실, 반복 가능한 객체로set
이런 식으로 작동 합니다! (오리는 타이핑을 잘하지 않습니까?)
반복적으로 수행하려면 다음을 수행하십시오.
s = set()
for item in iterable:
s.add(item)
그러나 이런 식으로 할 필요는 거의 없습니다. 이 set.add
방법은 매우 유용 하기 때문에 언급 만합니다.
가장 직접적인 해결책은 다음과 같습니다.
s = set(filelist)
원래 코드의 문제는 값이 set 에 할당되지 않았다는 것 입니다 . 다음은 코드의 수정 버전입니다.
s = set()
for filename in filelist:
s.add(filename)
print(s)
넌 할 수있어
my_set = set(my_list)
또는 Python 3의 경우
my_set = {*my_list}
목록에서 세트를 작성합니다. 반대로, 당신은 또한 할 수 있습니다
my_list = list(my_set)
또는 Python 3의 경우
my_list = [*my_set]
세트에서 목록을 작성합니다.
집합은 본질적으로 순서가 없기 때문에 목록을 집합으로 변환 할 때 목록의 요소 순서는 일반적으로 손실됩니다. (CPython의 한 가지 예외는 목록이 음이 아닌 정수로만 구성된 경우 인 것 같습니다. 그러나 이것이 CPython의 세트 구현의 결과이고이 동작이 다른 Python 구현마다 다를 수 있다고 가정합니다.)
또 다른 해결책은 다음과 같습니다.
>>>list1=["C:\\","D:\\","E:\\","C:\\"]
>>>set1=set(list1)
>>>set1
set(['E:\\', 'D:\\', 'C:\\'])
이 코드에서는 set 메소드를 사용하여 set으로 바꾸고 목록에서 모든 중복 값을 제거했습니다.
간단히 다음 줄을 넣으십시오.
new_list = set(your_list)
다음과 같이 반복적 인 방식으로 세트를 구성하는 일반적인 방법 중 하나입니다.
aset = {e for e in alist}
참고 URL : https://stackoverflow.com/questions/15768757/how-to-construct-a-set-out-of-list-items-in-python
'Programming' 카테고리의 다른 글
목록은 스레드로부터 안전합니까? (0) | 2020.06.27 |
---|---|
파워 미터에 빨간색과 초록색 사이의 색상을 생성 하시겠습니까? (0) | 2020.06.27 |
열거 형 값에 대한 사용자 지정 문자열 형식을 가진 열거 형 콤보 상자를 사용하려면 어떻게합니까? (0) | 2020.06.27 |
PHP 페이지 HTML 출력을 축소하는 방법? (0) | 2020.06.27 |
typescript : 오류 TS2693 : 'Promise'는 유형 만 참조하지만 여기서 값으로 사용 중입니다. (0) | 2020.06.27 |