日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python list 查找find_List 泛型 集合中 Find 的用法

發(fā)布時(shí)間:2024/1/23 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python list 查找find_List 泛型 集合中 Find 的用法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

以前在開發(fā)中為了對(duì)List,String[].Array進(jìn)行元素的查找一般都是這樣做:

List?lists = new List();

list.add("111");

.....

for(int i=0;i

{

if(list[i].equals("要查找的元素"))

{....}

}

其實(shí)在C# 2.0對(duì)List,Array元素的查找,MS已經(jīng)提供了一些泛型方法,讓Coding人員更好的查找,遍歷,等等...

以下是我簡單對(duì)List的一些操作所寫的Demo.供大家參考,以及和大家進(jìn)行交流。

static?void?Main(string[]?args)

{

//Prdicate用法

//第一種用法:[不創(chuàng)建顯式的委托,也不創(chuàng)建指定泛型方法的類型參數(shù)]

ListOneMethod();

//Prdicate用法

//第二種用法:[創(chuàng)建顯式的委托,也創(chuàng)建指定泛型方法的類型參數(shù)]

ListTwoMethod();

//第三種用法:[同于第二種方法,但用了兩個(gè)類進(jìn)行區(qū)分]

ListThreeMethod();

}

#region?第一種用法

private?static?void?ListOneMethod()

{

String[]?strs?=?{?"WPF",?"WCF",?"WF",?"Author",?"WinFx",?"Linq"?};

String?Name?=?Array.Find(strs,?FindWhere);

Console.WriteLine("Result:?----------??"?+?Name?+?"??----------");

}

public?static?Boolean?FindWhere(String?str)

{

return?str.Equals("Author")???true?:?false;

}

#endregion

#region?第二種用法

private?static?void?ListTwoMethod()

{

List?strlist?=?new?List();

strlist.Add("WPF");

strlist.Add("WCF");

strlist.Add("WF");

strlist.Add("Author");

strlist.Add("WinFx");

strlist.Add("Linq");

Predicate?FindValues?=?delegate(String?list)

{

return?list.Equals("WinFx")???true?:?false;

};

Console.WriteLine("Result:?---FindIndex---??"?+?strlist.FindIndex(FindValues)?+?"??----------");

Console.WriteLine("Result:?---Exists----??"?+?strlist.Exists(FindValues)?+?"??----------");

List?lists?=?strlist.FindAll(FindValues);

foreach?(string?str?in?lists)

{

Console.WriteLine("Result:?---FindAll-----??"?+?str?+?"??----------");

}

Console.WriteLine("Result:?---FindLast----??"?+?strlist.FindLast(FindValues)?+?"??----------");

Console.WriteLine("Result:?---FindLastIndex--??"?+?strlist.FindLastIndex(FindValues)?+?"??----------");

Console.WriteLine("Result:?---RemoveAll--??"?+?strlist.RemoveAll(FindValues)?+?"??----------");

Console.WriteLine("Result:?---TrueForAll-??"?+?strlist.TrueForAll(FindValues)?+?"??----------");

}

#endregion

#region?第三種用法

private?static?void?ListThreeMethod()

{

ListClass?lists?=?new?ListClass();

//?使用List.Add()方法來新增集合內(nèi)容

lists.Values.Add(new?ValueClass("WPF"));

lists.Values.Add(new?ValueClass("WCF"));

lists.Values.Add(new?ValueClass("WF"));

lists.Values.Add(new?ValueClass("Author"));

lists.Values.Add(new?ValueClass("WinFx"));

lists.Values.Add(new?ValueClass("Linq"));

Predicate?FindValue?=?delegate(ValueClass?obj)?{?return?obj.Value?==?"Author";?};

Console.WriteLine("Result:?----------??"?+?lists.Values.FindIndex(FindValue)?+?"??----------");

Console.WriteLine("將所有資料列出");

int?idx?=?0;

Action?ListAll?=?delegate(ValueClass?obj)

{

Console.WriteLine(string.Format("第?{0}?個(gè)的Value值為?{1}",?idx,?obj.Value));

idx++;

};

lists.Values.ForEach(ListAll);

}

public?class?ValueClass

{

private?string?_value?=?string.Empty;

public?string?Value

{

get?{?return?_value;?}

}

public?ValueClass(string?value)

{

_value?=?value;

}

}

public?class?ListClass

{

private?List?_values?=?new?List();

public?List?Values

{

get?{?return?_values;?}

}

public?ListClass()?{?}

}

#endregion

*Predicate 是對(duì)方法的委托,如果傳遞給它的對(duì)象與委托中定義的條件匹配,則該方法返回 true。當(dāng)前 List 的元素被逐個(gè)傳遞給 Predicate 委托,在找到匹配項(xiàng)時(shí)停止處理。此方法執(zhí)行線性搜索;

還有就是有關(guān)于List其他的一些查找方法:

1.當(dāng)需要依條件來尋找集合內(nèi)的某個(gè)類別時(shí),?可用ListFind(),?ListFindLast()來搜尋,?回傳搜尋到的類別

2.當(dāng)需要依條件來尋找集合內(nèi)的某些類別時(shí),?可用ListFindAll()來搜尋,?將回傳一個(gè)新的List對(duì)象集合

3.當(dāng)需要依條件來尋找集合內(nèi)的某個(gè)類別的索引值時(shí),?可用ListFindIndex(),?ListFindLastIndex()

4.ListFind(),?ListFindLast()的不同是,?ListFind()由Index=0開始尋找,?而ListFindLast()由Index?=?List.Count?-?1開始尋找

同理,?ListFindIndex(),?ListFindLastIndex()也是一樣,?不同的是,?這兩個(gè)回傳的是索引值

5.當(dāng)使用ListFind()相關(guān)函示時(shí),?必須delegate.這個(gè)Predicate

其內(nèi)容就是搜尋的判斷式,?如:

Predicate?FindJaofeng?=?delegate(class1?obj)?{

return?obj.Value?==?"Jaofeng";

};

return?type為boolean值

而上面也有介紹一個(gè)List.ForEach(),?這個(gè)Method只是將原本我們用foreach()的方式,?簡化而已

譬如原本的習(xí)慣寫法:

foreach?(class1?cls?in?myText.Values)?{

//

?Do?something

}

//?現(xiàn)在變成

Action?ActionName?=?delegate(class1?obj)?{

//

?Do?something

};

myText.Values.ForEach(ActionName);

查找DropDownList中的Item的

ListItemCollection?items?=?DisplayModeDropdown.Items;

查找?Index:

????int?selectedIndex?=?items.IndexOf(items.FindByText("需要查找匹配的item"));

查找?Value:

????string?selectedValue?=?items.FindByText("需要查找匹配的item");

總結(jié)

以上是生活随笔為你收集整理的python list 查找find_List 泛型 集合中 Find 的用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品污www在线观看 | 2021亚洲天堂 | 亚洲最新网址 | 日韩欧美区 | 秋霞电影一区二区 | 九色蝌蚪视频 | 天天做天天爱天天爽综合网 | 欧日韩一区二区三区 | 国产欧美一区二区三区免费看 | 性一交一乱一区二区洋洋av | 黄色免费在线观看网站 | 日韩精品一二三区 | 亚洲国产大片 | 久久久久久国产 | 日本黄色片在线播放 | 日日夜夜天天 | 六月婷婷久久 | 久久国产乱子伦免费精品 | 中文字幕av一区二区三区人妻少妇 | 91瑟瑟 | 又粗又猛又爽又黄少妇视频网站 | 天天干天天谢 | 久久在线视频 | 日批黄色片 | 一级片免费看视频 | 日本精品视频网站 | 少妇无码一区二区三区 | 自慰无码一区二区三区 | 丁香一区二区 | 久久久久久久久久久久久女国产乱 | 国产一级一区二区 | 综合久久婷婷 | 一级的大片 | 黄色网址链接 | 亚洲国产精品成人 | 色综合久久88 | 狂野欧美性猛交xxxx巴西 | 涩涩成人| 成人免费在线播放 | 欧美色视| 小辣椒导航 | 成人av电影天堂 | 久久久久亚洲色欲AV无码网站 | 亚洲国产成人精品女人久久久 | 精品久久久久久久中文字幕 | 国产精品扒开做爽爽爽的视频 | 亚洲毛片久久 | 操操网 | 久久91| 国产伦精品一区二区三区视频黑人 | 亚洲国产精彩中文乱码av | 日本公妇乱淫免费视频一区三区 | 久久精品色妇熟妇丰满人妻 | 午夜视频一区二区三区 | 少妇肥臀大白屁股高清 | 伊人国产精品 | 欧美 日韩 国产 高清 | 免费无码av片在线观看 | 国产成人精品在线 | 九九超碰 | av福利院 | 亚洲黄色自拍 | 日韩在线一区二区三区 | 欧美在线免费视频 | 成人听书哪个软件好 | 夜夜操狠狠干 | 五十路在线观看 | 国产一区二区三区高清 | 老司机午夜av | 国产人人射 | 欧美精品激情 | 国语对白av| 日韩精品在线一区二区 | julia一区二区中文久久97 | 国产精品色片 | 久草五月 | 亚洲色图另类 | 国产欧美第一页 | 婷婷激情五月网 | 欧美日韩123 | 青娱乐av在线 | 丁香啪啪综合成人亚洲 | 日韩一区二区三区在线看 | 中文字幕一区二区三区乱码人妻 | 日本激情小视频 | 黄色在线观看av | 大象传媒成人在线观看 | 精品xxxxx | a在线v| 国产香蕉在线观看 | 女人扒开腿让男人捅爽 | 欧美一区综合 | av免费一区 | 男人的天堂一区二区 | 手机在线精品视频 | 中文字幕一区二区人妻视频 | 午夜粉色视频 | 久久婷五月天 | 亚洲色成人网站www永久四虎 |