2013-01-09 60 views
1

我試圖在python中複製c#LINQ foreach語句。我確信有更好的方法。Foreach循環where子句在Python中類似於c#LINQ

比方說,我有(在C#):

public class TestData 
    { 
     public int Id { get; set; } 
     public string Something { get; set; } 
    } 

    void MyMethod() 
    { 
     List<TestData> myList = new List<TestData>(); 
     foreach (var i in myList.Where(x => x.Id > 5)) 
     { 
      //do something 
     } 
    } 

我想做些事情正是這樣在Python(2.7)。我需要的只是foreach循環。我已經找到的其他一切。

任何人都可以指向正確的方向嗎?

回答

2

是的,這很容易。方括號的東西叫做List Comprehension

for i in [x for x in myList if x.Id > 5]: 
    pass #do something 
+0

完美,謝謝! – CodeLikeBeaker