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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

老齐python-基础3(列表)

發(fā)布時間:2023/12/13 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老齐python-基础3(列表) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、定義一個列表

>>> a = [] #創(chuàng)建一個空列表 >>> type(a) #查看數(shù)據(jù)類型 <class 'list'> >>> bool(a) #判斷非空 False >>> print(a) [] >>> a = ['2',3,'tajzhang',] >>> a ['2', 3, 'tajzhang'] >>> type(a) <class 'list'> >>> bool(a) True >>> print(a) ['2', 3, 'tajzhang']

??? 列表是個筐,什么都能裝

>>> b = ["hello",a] >>> b ['hello', ['2', 3, 'tajzhang']]

?

2、索引和切片

與字符串方式相同

>>> a = ['2','3','python.org'] >>> a[0] '2' >>> a[2] 'python.org' >>> a[:2] ['2', '3'] >>> a[1:] ['3', 'python.org'] >>> a[2][7:13] #兩次切片 'org'
>>> a.index('2') #索引
0
>>> a[-1]
'python.org'
>>> a[-3:-1] #從右向左截取
['2', '3']
>>> alst = [1,2,3,4,5,6]
>>> alst[:] #顯示列表所有
[1, 2, 3, 4, 5, 6]
>>> alst[::2] #步長為2顯示列表
[1, 3, 5]
>>> alst[::1]
[1, 2, 3, 4, 5, 6]

?

3、反轉(zhuǎn)

??? 編程中比較常用

>>> alst = [1,2,3,4,5,6] >>> alst[::-1] #反轉(zhuǎn) [6, 5, 4, 3, 2, 1] >>> alst [1, 2, 3, 4, 5, 6] >>> lang ='python' >>> lang[::-1] #字符串同樣支持反轉(zhuǎn) 'nohtyp' >>> alst[::-2] [6, 4, 2] >>> list(reversed(alst)) #反轉(zhuǎn)函數(shù) [6, 5, 4, 3, 2, 1] >>> list(reversed("abcd")) ['d', 'c', 'b', 'a']

4、操作列表

??? 4.1基本操作:與字符串操作方式基本相同

??????? len

??????? +

??????? *

??????? in

??????? max()和min()

>>> lst = ['python','java','c++'] >>> len(lst) 3 >>> alst=[1,2,3,4,5,6] >>> lst + alst ['python', 'java', 'c++', 1, 2, 3, 4, 5, 6] >>> lst * 3 ['python', 'java', 'c++', 'python', 'java', 'c++', 'python', 'java', 'c++'] >>> "python" in lst #是否存在 True >>> "c#" in lst False >>> alst = [1,2,3,4,5,6] >>> max(alst) #最大值 6 >>> min(alst) #最小值 1 >>> min(lst) 'c++'

??? 4.2修改列表元素

>>> cities = ["nanjing","zhejiang"] >>> cities[1] = "suzhou" >>> cities ['nanjing', 'suzhou'] >>> cities.append("shanghai") >>> cities ['nanjing', 'suzhou', 'shanghai'] >>> cities[len(cities):] = ["wuxi"] >>> cities ['nanjing', 'suzhou', 'shanghai', 'wuxi']

?

5、列表常用函數(shù)

>>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

??? 常用:append、count、extend、index、insert、pop、remove、reverse、sort

>>> la = [1,2,3] >>> lb = ['tajzhang','python'] >>> la.extend(lb) #列表合并 >>> la [1, 2, 3, 'tajzhang', 'python'] >>> lb ['tajzhang', 'python'] >>> b = "abx" >>> la.extend(b) #將字符串加入列表 >>> la [1, 2, 3, 'tajzhang', 'python', 'a', 'b', 'x']

>>> la = [1,2,3,'a','b','c']
>>> lb = ['qiwair','python']
>>> la[len(la):] = lb #不同實現(xiàn)方法
>>> la
[1, 2, 3, 'a', 'b', 'c', 'qiwair', 'python']

??? 判斷對象是否是可迭代的

>>> astr = "python" >>> hasattr(astr,'__iter__') True >>> hasattr(3,'__iter__') False

??? 5.1 append()和extend()區(qū)別

>>> lst = [1,2,3] >>> lst.append(["tajzhang","blog"]) >>> lst [1, 2, 3, ['tajzhang', 'blog']] >>> len(lst) 4 >>> lst2 = [1,2,3] >>> lst2.extend(["tajzhang","blog"]) >>> lst2 [1, 2, 3, 'tajzhang', 'blog'] >>> len(lst2) 5

??? 5.2 count 顯示列表中元素重復出現(xiàn)次數(shù)的方法

>>> la = [1,2,1,1,3] >>> la.count(1) 3

??? 5.3 index 顯示元素索引位置,元素不存在就報錯

>>> la = [1,2,3,'a','b','c','tajzhang','python'] >>> la.index(3) 2

??? 5.4 inster 任意位置追加元素

>>> all_user = ['tajzhang','python','blog'] >>> all_user.insert(0,'github') >>> all_user >>> a = [1,2,3] >>> a.insert(9,666) #索引超過最大值則追加到最后 >>> a [1, 2, 3, 666]

??? 5.5 remove和pop

?????? remove存在列表中即刪除,不存在列表中報錯,建議配合if判斷使用

>>> all_user ['github', 'tajzhang', 'python', 'blog'] >>> if "python" in all_user:all_users.remove("python")print(all_user)else:print("'python' is not in all_users")

??? pop

>>> all_user ['github', 'tajzhang', 'python', 'blog'] >>> all_user.pop() 'blog' >>> all_user ['github', 'tajzhang', 'python'] >>> all_user.pop(1) 'tajzhang' >>> all_user ['github', 'python'] >>> all_user.pop(3) #超出索引報錯 Traceback (most recent call last):File "<pyshell#117>", line 1, in <module>all_user.pop(3) IndexError: pop index out of range

??? 5.6 reverse 倒序

>>> a = [3,5,1,6] >>> a.reverse() >>> a [6, 1, 5, 3] >>> a = [1,2,3,4,5] >>> b = reversed(a) >>> b <list_reverseiterator object at 0x1023aee48> >>> list(b) #reverse不能實現(xiàn)反向迭代,可使用reversed實現(xiàn) [5, 4, 3, 2, 1] >>> a [1, 2, 3, 4, 5] >>> a.reverse()

??? 5.7 sort? sorted()

>>> a [1, 2, 3, 4, 5] >>> a.reverse() >>> a = [6,1,5,3] >>> a.sort() >>> a [1, 3, 5, 6] >>> a.sort(reverse=True) #反向排序 >>> a [6, 5, 3, 1] >>> lst = ["python","java","c","pascal","basic"] >>> lst.sort(key=len) #根據(jù)key 排序類似excel >>> lst ['c', 'java', 'basic', 'python', 'pascal']

?

?

6、比較字符串和列表

??? 6.1相同點

??????? 兩者都屬于序列類型,不管是組成列表的元素,還是組成字符串的字符,都可以從左向右,依次用0,1,2...(-1,-2,3...)這樣的方式建立索引,都可以使用切片

??? 6.2區(qū)別

??????? 最大區(qū)別,列表是可以隨意修改的,字符串要重新賦值才可以

??? 6.3多維列表

??????? 字符串中每個元祖只能是字符類型,列表中可以是任何類型的數(shù)據(jù)

7、列表和字符串轉(zhuǎn)化

??? 7.1 str.split()

??? 7.2 "[sep]".join(list)

?

8、更pythonic的多值替換方法

lst2 = ["python",22,22,"python","linux","python","ubuntu"] lst4 = ['python2' if x == 'pyhton' else x for x in lst2] #多值替換 print(lst4)lst3 = list(set(lst2)) print(lst3)lstcache1 = [22,'linux'] lst5 = ['c++' if x in lstcache1 else x for x in lst3] #去除相同元素,多元素替換同一個元素 print(lst5)lstcache2 = {'python':'pythonIC','c++':'c#'} lst6 = [lstcache2[x] if x in lstcache2 else x for x in lst5] #根據(jù)字典映射關(guān)系替換 print(lst6)

?

轉(zhuǎn)載于:https://www.cnblogs.com/Taj-Zhang/p/7474206.html

總結(jié)

以上是生活随笔為你收集整理的老齐python-基础3(列表)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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