danh sách trong python, vòng lặp for, mảng (list in python, loop for, array)


問題描述

danh sách trong python, vòng lặp for, mảng (list in python, loop for, array)

as a green hand python programmer, I have a little problem, I'll appreciate if somebody can help!!

I have two lists

a list of random  repeated numbers(unknow size) like: 

number = [44,198,57,48,658,24,7,44,44,44..]

for n in number I want to give these numbers to a list of people in order, one number for one person. If a number repeat, the program will find out the person whom got this number when the first time it shows up.  It means I want to print a list like

people = [1,2,3,4,5,6,7,1,1,1...]

print people

參考解法

方法 1:

Store the mapping from numbers to indexes in a dict, and update it as you go.

numbers = [44,198,57,48,658,24,7,44,44,44.]
index_mapping = {}
indexes = []
next_index = 1
for number in numbers:
    if number in index_mapping:
        # already seen
        indexes.append(index_mapping[number])
    else:
        # a new one
        indexes.append(next_index)
        index_mapping[number] = next_index
        next_index += 1

print indexes

(by Yséeshx2)

參考文件

  1. list in python, loop for, array (CC BY‑SA 3.0/4.0)

#for-loop #python-2.7 #list #arrays






相關問題

從R中的類引用列表中獲取類引用字段的最小值 (Get min value of a class reference field from a list of class references in R)

在 SQL Server 2008 中運行 WHILE 或 CURSOR 或兩者 (Running WHILE or CURSOR or both in SQL Server 2008)

danh sách trong python, vòng lặp for, mảng (list in python, loop for, array)

如何編寫一個程序來自動執行一組查詢 (How to write a procedure to execute set of queries automatically)

xPath 在使用 for-each 循環變量時找不到選擇器,但可以正常工作 (xPath not finding selector when using for-each loop variable, but works otherwise)

為什麼for循環重複輸出相同的記錄?JavaScript (Why for loop output same record repeatedly? JavaScript)

在 for 循環中將參數傳遞給 setTimeout (Passing argument to setTimeout in a for loop)

使用python匹配條件後如何從列表的開始迭代開始for循環 (How to start for-loop from the starting iteration of list after matching the condition using python)

BASH:在 for 循環中使用 continue (BASH: Using a continue in a for loop)

如何識別 For / Select / Loop 中的行號 (How do I identify the row number in a For / Select / Loop)

如何循環遍歷列表中的項目不斷附加在循環中的列表? (how to loop through a list where the items of the list are constantly appended in the loop?)

是否可以僅使用 for 循環來實現包含 for 循環的遞歸函數,該循環包含對上述函數的調用? (Can a recursive function containing a for loop that contains a call of the mentioned function be implemented using only for loops?)







留言討論