2013-07-30 27 views
0
Dust: Fe 
Dust: Fe 
Dust: Fe 
Dust: Al203 
Dust: Al203  
Dust: Fe 
Dust: Fe 
Dust: Fe 

假設我有上面的列,它們可以是數百(也許更高)的行深度。在第二列(python:[i] [1]列)中搜索不同值的最簡單方法是什麼?並且只打印出現的值並不會打印出所有時間?在列中打印不同的值而不是其重複的數量

因此,例如,我想輸出僅僅是:鐵AL203

我不知道該怎麼做,而不打印每發生。

謝謝。

+0

您可以構建一個'set'? –

+0

使用'set'來跟蹤您打印的值。或者你可以使用字典,但一套是首選。 – sberry

+0

'set'或者'dict'。學習python數據類型。 – roippi

回答

1

這看起來是這樣的:

uniquevalues = {row.value for row in rows} 

你如何獲得值的列表是另一回事。例如,如果rows是文件中的行,可能是這樣的:

with open('myfile.txt') as infile: 
    uniquevalues = {row.split(': ')[1] for row in infile} 
0

使用set,像這樣:

>>> s = "Dust: Fe" 
>>> t = "Dust: Al203" 
>>> lines = [s, s, s, t, t, s, s, s] 
>>> set(s[6:] for s in lines) 
set(['Al203', 'Fe']) 
相關問題