摘要:列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。列表用標(biāo)識(shí),是最通用的復(fù)合數(shù)據(jù)類型。列表是有序的對象集合,字典是無序的對象集合。字典由索引和它對應(yīng)的值組成。重復(fù)的被刪除交集并集差集內(nèi)置函數(shù)函數(shù)對所有可迭代的對象進(jìn)行排序操作。
1.列表和字符串,以及字典的使用方法和區(qū)別
Python字符串
>>> s = "abcdef" >>> s[1:5] "bcde" **str = "Hello World!"** print str # 輸出完整字符串 print str[0] # 輸出字符串中的第一個(gè)字符 print str[2:5] # 輸出字符串中第三個(gè)至第五個(gè)之間的字符串 print str[2:] # 輸出從第三個(gè)字符開始的字符串 print str * 2 # 輸出字符串兩次 print str + "TEST" # 輸出連接的字符串
以上實(shí)例輸出結(jié)果:
Hello World! H Hello World!TEST
Python列表
List(列表) 是 Python 中使用最頻繁的數(shù)據(jù)類型。
列表可以完成大多數(shù)集合類的數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。它支持字符,數(shù)字,字符串甚至可以包含列表(即嵌套)。
列表用 [ ] 標(biāo)識(shí),是 python 最通用的復(fù)合數(shù)據(jù)類型。
**list = [ "runoob", 786 , 2.23, "john", 70.2 ]** tinylist = [123, "john"] print list # 輸出完整列表 print list[0] # 輸出列表的第一個(gè)元素 print list[1:3] # 輸出第二個(gè)至第三個(gè)元素 print list[2:] # 輸出從第三個(gè)開始至列表末尾的所有元素 print tinylist * 2 # 輸出列表兩次 print list + tinylist # 打印組合的列表
以上實(shí)例輸出結(jié)果:
["runoob", 786, 2.23, "john", 70.2]
Python 字典
字典(dictionary)是除列表以外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象集合,字典是無序的對象集合。
兩者之間的區(qū)別在于:字典當(dāng)中的元素是通過鍵來存取的,而不是通過偏移存取。
字典用"{ }"標(biāo)識(shí)。字典由索引(key)和它對應(yīng)的值value組成。
dict = {} dict["one"] = "This is one" dict[2] = "This is two" tinydict = {"name":"john","code":6743,"dept":"sales"} print (dict["one"]) # 輸出鍵為"one" 的值 print (dict[2]) # 輸出鍵為 2 的值 print (tinydict) # 輸出完整的字典 print (tinydict.keys()) # 輸出所有鍵 print (tinydict.values()) # 輸出所有值
輸出結(jié)果為:
This is one This is two {"dept": "sales", "code": 6734, "name": "john"} ["dept", "code", "name"] ["sales", 6734, "john"]
2. Python的內(nèi)置函數(shù)
2.1內(nèi)置函數(shù)set( )
set() 函數(shù)創(chuàng)建一個(gè)無序不重復(fù)元素集,可進(jìn)行關(guān)系測試,刪除重復(fù)數(shù)據(jù),還可以計(jì)算交集、差集、并集等。
set 語法:
class set([iterable])
參數(shù)說明:
iterable -- 可迭代對象對象;
返回值
返回新的集合對象。
>>>x = set("runoob") >>> y = set("google") >>> x, y (set(["b", "r", "u", "o", "n"]), set(["e", "o", "g", "l"])) # 重復(fù)的被刪除 >>> x & y # 交集 set(["o"]) >>> x | y # 并集 set(["b", "e", "g", "l", "o", "n", "r", "u"]) >>> x - y # 差集 set(["r", "b", "u", "n"])
2.1內(nèi)置函數(shù)sorted( )
sorted() 函數(shù)對所有可迭代的對象進(jìn)行排序操作。
sort 與 sorted 區(qū)別:
sort 是應(yīng)用在 list 上的方法,sorted 可以對所有可迭代的對象進(jìn)行排序操作。
list 的 sort 方法返回的是對已經(jīng)存在的列表進(jìn)行操作,而內(nèi)建函數(shù) sorted 方法返回的是一個(gè)新的 list,而不是在原來的基礎(chǔ)上進(jìn)行的操作。
sorted 語法:
sorted(iterable[, cmp[, key[, reverse]]])
參數(shù)說明:
iterable -- 可迭代對象。
cmp -- 比較的函數(shù),這個(gè)具有兩個(gè)參數(shù),參數(shù)的值都是從可迭代對象中取出,此函數(shù)必須遵守的規(guī)則為,大于則返回1,小于則返回-1,等于則返回0。
key -- 主要是用來進(jìn)行比較的元素,只有一個(gè)參數(shù),具體的函數(shù)的參數(shù)就是取自于可迭代對象中,指定可迭代對象中的一個(gè)元素來進(jìn)行排序。
reverse -- 排序規(guī)則,reverse = True 降序 , reverse = False 升序(默認(rèn))。
返回值
返回重新排序的列表。
>>>a = [5,7,6,3,4,1,2] >>> b = sorted(a) # 保留原列表 >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7]
難點(diǎn):https://www.runoob.com/python...
>>> L=[("b",2),("a",1),("c",3),("d",4)] >>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函數(shù) [("a", 1), ("b", 2), ("c", 3), ("d", 4)] >>> sorted(L, key=lambda x:x[1]) # 利用key [("a", 1), ("b", 2), ("c", 3), ("d", 4)]
例二:
students = [("john", "A", 15), ("jane", "B", 12), ("dave", "B", 10)] print(sorted(students, key=lambda s: s[2])) print(type(students)) [("dave", "B", 10), ("jane", "B", 12), ("john", "A", 15)]
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/42117.html
摘要:可以用作的,因?yàn)樗遣豢勺兊?。但是作為的時(shí)有個(gè)限制的元素是可以哈希的。一般是這樣用的但是你不能這樣用 最近把python的基礎(chǔ)語法復(fù)習(xí)一下,發(fā)現(xiàn)tuple這個(gè)比較特殊,有幾點(diǎn)需要注意下 1.tuple的每個(gè)元素值不能改變,如: >>> a=(1,2) >>> a[0]=3; Traceback (most recent call last): File , line 1, in ...
摘要:在網(wǎng)上搜了一下,很多人發(fā)帖問的和這兩個(gè)比較操作符的區(qū)別,關(guān)于這個(gè),官方文檔有一些說明。上面說明了操作符用來判斷兩個(gè)操作數(shù)是不是同一個(gè)對象,也就是它們引用的是不是同一個(gè)對象。至于實(shí)例方法,等找個(gè)例子才寫。 在網(wǎng)上搜了一下,很多人發(fā)帖問python的is和==這兩個(gè)比較操作符的區(qū)別,關(guān)于這個(gè),官方文檔有一些說明。 The operators is and is not test for o...
摘要:編程書籍的整理和收集最近一直在學(xué)習(xí)深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后也找了很多的書和文章,隨著不斷的學(xué)習(xí),也整理了下自己的學(xué)習(xí)筆記準(zhǔn)備分享出來給大家后續(xù)的文章和總結(jié)會(huì)繼續(xù)分享,先分享一部分的 編程書籍的整理和收集 最近一直在學(xué)習(xí)deep learning深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的東西,發(fā)現(xiàn)深入地去學(xué)習(xí)就需要不斷的去提高自己算法和高數(shù)的能力然后...
閱讀 1490·2021-11-22 14:44
閱讀 2868·2021-11-16 11:44
閱讀 3238·2021-10-13 09:40
閱讀 2045·2021-10-08 10:04
閱讀 2393·2021-09-24 10:28
閱讀 2936·2021-09-06 15:02
閱讀 2999·2019-08-30 15:52
閱讀 2431·2019-08-30 13:20