4 개의 다른 숫자, 총 10 개의 숫자가있는 목록이 있습니다. 각 숫자에 색상 / 단어를 지정하고 싶습니다. 따라서 문제는 숫자 목록에서 모든 동일한 숫자가 동일한 색상 / 단어로 표시되는 색상 목록으로 어떻게 이동합니까?
초기 목록 :
my_list = [72, 50, 3, 50, 16, 72, 3, 72, 3, 50]
예상 출력 :
print(my_list) -> ['red', 'blue', 'green', 'blue', 'black', 'red', 'green', 'red', 'green', 'blue']
나는 무엇을 시도 했습니까?
my_list에서 고유 번호를 추출했습니다.
my_list = [72,50,3,50,72,3,72,3,50]
UniqueList = list(set(my_list))
print(UniqueList)
이제 색상 목록 [ 'red', 'blue', 'green', 'black', 'yellow', 'purple']의 색상을 4 개의 고유 번호 각각에 할당 한 다음 다음을 사용하여 my_list를 다시 생성해야합니다. 그림 물감. 불행히도 나는 앞으로 나아가는 방법에 대한 단서가 없습니다. 어떤 아이디어?
조회 사전을 만들 수 있습니다.
my_list = [72, 50, 3, 50, 16, 72, 3, 72, 3, 50]
colors = ['red', 'blue', 'green', 'black', 'yellow', 'purple']
lookup = dict(zip(set(my_list), colors))
output = [lookup[number] for number in my_list]
print(output)
산출
['red', 'green', 'black', 'green', 'blue', 'red', 'black', 'red', 'black', 'green']
lookup
사전은 숫자 중 하나에 색상을 할당하는 기능으로 간주 할 수 있습니다 . 위의 예에서 조회에는 다음 값이 있습니다.
{72: 'red', 16: 'blue', 50: 'green', 3: 'black'}
이것은 나타날 'red'
때마다 할당된다는 것을 의미합니다 72
. 다음 lookup
과 같이 사용자 정의 할 수 있습니다 .
lookup = {72 : 'green', 50 : 'black', 3 : 'yellow', 16: 'purple'}
이번에는 72
나타날 때마다 green
할당됩니다. 여기 에서 사전을 만드는 방법에 대해 자세히 알아 보십시오 .
최신 정보
목록에서 나타나는 순서를 유지하려면 다음을 수행 할 수 있습니다.
seen = set()
result = []
for e in my_list:
if e not in seen:
result.append(e)
seen.add(e)
print(result)
산출
[72, 50, 3, 16]
목록 result
이 나타나는 순서에 유의하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다