python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)
所謂序列,指的是一塊可以存放多個值的連續內存空間,可以通過每個值所在的編號(索引)去訪問他們
目錄
- 列表(可變序列)
- 元組(不可變序列)
- 字符串(不可變)
- 轉義
- 字符串拼接
列表(可變序列)
| 增 | append | 將元素增加到末尾 |
| insert | 添加到指定位置 | |
| extend | 將序列中的每個元素追加到末尾(可以添加多個元素) | |
| 刪 | pop | 不帶參數彈出最后一個元素、帶參數指定下標值 |
| remove | 移除指定的元素 | |
| clear | 刪除列表中的所有值 | |
| 改 | li[0] = ‘list’ | |
| 查 | index | 在列表中從左至右查找指定元素,找到了返回改值的下標 |
| count | 計算列表中指定元素出現的次數 | |
| 其他方法 | copy | 返回一個改列表的復制 |
| reverse | 對列表中的元素進行反向排列 | |
| sort | 對列表中的元素進行從小到大的排列 |
1、創建
①用“=”直接將一個列表賦值給變量
②list() 函數
#方法一 >>> a_list = ['a','b','c','d'] >>> a_list ['a','b','c','d']#方法二 >>> a_list = list(('a','b','c','d')) >>> a_list ['a','b','c','d']2、增
①直接用“+”運算符實現
②append() 將元素追加到末尾
③ insert(索引位置,插入元素)添加到指定的位置
④ extend(可迭代對象) 將序列中的每個元素追加到末尾
#方法一 >>> a_list ['a', 'b', 'c', 'd'] >>> a_list = a_list + ['e'] >>> a_list ['a', 'b', 'c', 'd', 'e']#方法二 >>> a_list.append([9,8]) >>> a_list ['a', 'b', 'c', 'd', 'e', 9, 8]#方法三 >>> a_list.insert(2,'s') >>> a_list ['a', 'b', 's', 'c', 'd', 'e', 9, 8]#方法四 >>> b_list [1, 2, 3] >>> a_list.extend(b_list) >>> a_list ['a', 'b', 's', 'c', 'd', 'e', 9, 1, 2, 3]3、刪
① del刪除指定位置上的元素 也可以刪除整個列表(不是列表獨有的方法)
②pop不帶參數刪除最后一個元素、帶參數刪除指定位置的值
③remove移除指定的元素(沒有返回值)
④clear刪除列表中的所有值`
#方法一 >>> a_list ['a', 'b', 's', 'c', 'd', 'e', 9, 1, 2, 3] >>> del a_list[2] #刪除第二個元素 >>> a_list ['a', 'b', 'c', 'd', 'e', 9, 1, 2, 3]#方法二 >>> a_list ['a', 'b', 'c', 'd', 'e', 9, 1, 2, 3] >>> a_list.pop() #刪除最后一個元素 3 >>> a_list ['a', 'b', 'c', 'd', 'e', 9, 1, 2] >>> a_list.pop(5) #刪除位置為5的元素 9 >>> a_list ['a', 'b', 'c', 'd', 'e', 1, 2] >>> del a_list[3:,6] #切片刪除 >>> a_list ['a', 'b', 'c', 2]#方法三 >>> a_list ['a', 'b', 'c', 'd', 'e', 1, 2] >>> a_list.remove('e') >>> a_list ['a', 'b', 'c', 'd', 1, 2]#方法四 >>> a_list.clear() >>> a_list []4、改
①重新重新賦值
>>> li = [5,4,3,2,1] >>> li[0]='python' >>> li ['python', 4, 3, 2, 1]5、查
①index(元素,起始值,終止值)在列表中從左至右查找指定元素,找到了放回該值的下標
②count計算列表中指定元素出現的次數
③直接指定位置索引查找
#方法一 >>> li [5, 4, 3, 2, 1] >>> li.index(4) 1 >>> li.index(4,0,3) 1#方法二 >>> li=[1,2,3,3,4] >>> li.count(3) 2#方法三 >>> li=[1,2,3,3,4] >>> li[1] 26、切片
格式: list[起始值,終止值,步長]
作用:可以原地修改列表內容,列表的增、刪、改、查以及元素替換等操作都可以用切片來實現,并且不印象列表對象內存地址。
>>> l = [3,4,5,6,7,8,9,11,12,13,14] >>> l[::] #查找所有元素 [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14] >>> l[::-1] #步長為-1,即從末位置往起始位置查找 [14, 13, 12, 11, 9, 8, 7, 6, 5, 4, 3] >>> l[::2] #從起始位置到末位置 步長為2 [3, 5, 7, 9, 12, 14] >>> l[1::2] #從1位置到末位置 步長為2 [4, 6, 8, 11, 13] >>> l[3::] #從3位置到末位置 步長為1 [6, 7, 8, 9, 11, 12, 13, 14] >>> l[3:6] #從3位置到6位置 [6, 7, 8] >>> l[3:6:2] #從起始位置到末位置 步長為2 [6, 8] >>> l[0:100:1] [3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14] >>> l[100:] []7、其他方法
1、copy復制一個新的列表
>>> li=[1,2,3,3,4] >>> a = li.copy() >>> a [1, 2, 3, 3, 4]2、reverse對列表中的元素進行反向排列
>>>li = [1,2,3] >>>li [1,2,3] >>>li.reverse()# 不會產生新的列表 >>>li [3,2,1]3、sort默認升序排序(同類型)ASCII碼
>>>li=[3,5,1] >>>li.sort() >>>li [1,3,5]>>>li=[3,5,1] >>>li.sort(reverse = True) #降序排序 >>>li [1,3,5]>>> li = ['f','b','e','w','a'] >>> li.sort() >>> li ['a', 'b', 'e', 'f', 'w']>>> li = ['fd','cb','we','wc','ab'] >>> li.sort() >>> li ['ab', 'cb', 'fd', 'wc', 'we']4、dir 查看所有方法 help 查看幫助文檔
list1 = [1,2,3] print(dir(list1)) #查看list1列表所有的函數方法拓展
1、Python列表腳本操作符
列表對 + 和 * 的操作符與字符串相似。+ 號用于組合列表,* 號用于重復列表。
示例:
| len([1, 2, 3]) | 3 | 列表長度 |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | 列表組合 |
| [‘Hi!’] * 4 | [‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’] | 元素重復 |
| 3 in [1, 2, 3] | True | 元素是否存在于列表中 |
| for x in [1, 2, 3]: print x | 1 2 3 | 迭代 |
2、python包含的函數
| 1 | cmp(list1, list2)] 比較兩個列表的元素 |
| 2 | len(list) 列表元素個數 |
| 3 | max(list) 返回列表元素最大值 |
| 4 | min(list) 返回列表元素最小值 |
| 5 | list(seq) 將元組轉換為列表 |
元組(不可變序列)
| 查 | count | 查數量 |
| index | 查第一個元素 | |
| 刪 | del | 刪除整個元組 |
| 連接組合 | a+b形式 | 兩個元組直接相加 |
1、創建
①用“=” 將一個元組賦值給變量
>>> tup1 = (1,2,3) >>> tup1 (1, 2, 3)注意:元組中只包含一個元素時,需要在元素后面添加逗號 例如:tup1 = (50,)
2、查
①count() 計算元素出現個數
②index(元素,起始值,終止值) 查找元素的位置
>>> tup1 = (1,2,3,2,2) >>> tup1.count(2) 3>>> tup1 (1, 2, 3) >>> tup1.index(1) 03、連接組合
>>>a=(1,2,3) >>>b=(3,4,5) >>>a+b (1,2,3,4,5)4、刪
del:刪除整個元祖
>>>del a >>>a name 'a' not defined5、切片
切片操作與列表一致,這里就不多說了
>>> tup1 = (1,2,3,2,2) >>> tup1[1:3] (2, 3)拓展
1、元組運算符
與字符串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和復制,運算后會生成一個新的元組。
| len((1, 2, 3)) | 3 | 計算元素個數 |
| (1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | 連接 |
| (‘Hi!’,) * 4 | (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!,’) | 復制 |
| 3 in (1, 2, 3) | True | 元素是否存在 |
| for x in (1, 2, 3): print x | 1 2 3 | 迭代 |
2、元組內置函數
Python元組包含了以下內置函數
| 1 | cmp(tuple1, tuple2)] 比較兩個元組的元素 |
| 2 | len(tuple) 計算元組元素個數 |
| 3 | max(tuple) 返回元組元素最大值 |
| 4 | min(tuple) 返回元組元素最小值 |
| 5 | list(seq) 將列表轉換為元組 |
字符串(不可變)
| 查 | count | 計算出現了多少次 |
| find | 查找一端數據 | |
| index | 返回指定的下標 | |
| isdigit | 判斷一個字符串里的數據是不是都是數字 | |
| isalpha | 判斷每個元素是不是字母 | |
| endswith | 比較結尾的元素是否相同 | |
| startswith | 比較開頭的元素是否相同 | |
| islower | 判斷字符串中的值是否全部是小寫 | |
| isupper | 判斷字符串中的值是否全部是大寫 | |
| 刪 | replace | |
| 改 | upper | 把所有的字母轉換成大寫 |
| lower | 把所有字母轉換成小寫 | |
| strip | (lstrip,rstrip) 除去空格帶參數,去除指定元素的開頭和結尾的相同的元素 | |
| capitalize | ||
| title | ||
| split | 劃分字符串 | |
| 增 | join | |
| 字符串拼接 |
1、查
① count計算出現了多少次
>>> str1 = 'hello world' >>> str1.count('l') 3② find(元素,起始值,終止值) 如果包含子字符串返回開始的索引值,否則返回-1。
>>> str1 = 'hello world' >>> str1.find('ll') 2 >>> str1.find('a') -1- index、返回指定值的下標,沒有會報錯
- isdigit、判斷一個字符串里的數據是不是都是數字
- isalpha、判斷每個元素是不是字母
- endswith、比較結尾的元素是否相同
- startswith、比較開頭的元素是否相同
- islower、判斷字符串中的值是否全是小寫的
- isupper、判斷字符串中的值是否全是大寫的
2、改
① capitalize把第一個字母轉換成大寫
>>>a= "hello world" >>> a.capitalize() 'Hello world'②title每個單詞的首字母進行大寫轉換
>>> a= "hello world" >>> a.title() 'Hello World'③split沒有參數默認以空格來切割、有參數
>>>b.split()# 默認為切割 特別常用 爬蟲 >>>b = 'hello world python' >>>b.split('o') ['hell', ' w', 'rld pyth', 'n']④replace替換把對象中有的值放第一個參數中替換成第二個參數
str.replace(old, new[, max])
old -- 將被替換的子字符串。 new -- 新字符串,用于替換old子字符串。 max -- 可選字符串, 替換不超過 max 次(默認是全部,可以指定次數) >>> str2 = "hello world" >>> str3 = str2.replace('h', 'H') #如果不賦值給str3就會出錯 >>> str3 'Hello world'- upper、把所有的字母轉成大寫
- ? lower、把所有的字母轉成大寫
- ? strip (lstrip,rstrip)、去除左右兩邊的空格(去左,去右),帶參數去除指定元素的開頭和結尾的相同的元素
3 增
字符串拼接
轉義
| \n | 換行 |
| \t | 水平制表符 |
| \b | 退格 |
| \r | 回車,當前位置移到本行開頭 |
| \\ | 代表反斜杠 \ |
| ’ | 代表一個單引號,同樣的 “ 等符號也可以這么輸出 |
| \0 | 代表一個空字符 |
| \a | 系統提示音 |
交互式模式:是什么就顯示什么
print:盡量展示為人類可以看懂得數據(調用__ str __)
字符前面加上 \ ,字符就不再表示字符本身的意思,表示ASCII碼中不能顯示字符,常見有下:\n 換行\t 水平制表符 Tab 四個空格\b 退格 \r 回車,當前位置移到本行開頭\\ 代表反斜杠 \\’ 代表一個單引號,同樣的 “ ? 等符號也可以這么輸出\0 代表一個空字符\a 系統提示音 在python中如果要去掉字符串的轉義,只需要在字符串前面加上 r r'abc\tabc'>>>a = "abc\babc" >>>print(a) "ababc" >>>print(r"abc\babc") "abc\babc"字符串方法本身不會變,但是我們可以拿來賦值拿來用就很簡單了
字符串拼接
1、+
>>> a = 'abc' >>> b = 'def' >>> a+b 'abcdef'2、%s
>>> name = 'wc' >>> age = 18 >>> print('你好%s,你%s歲' %(name,age)) 你好wc,你18歲3、join
>>>"-".join("hello") 'h-e-l-l-o' >>>"-".join(['hello','world']) 'hello-world'4、format
>>>'{} {} {}'.format('I','love','you') 'I love you' >>>'{0} {1} {2}'.format('a','b','c') 'a b c' >>>'{n1} {n2} {n3}'.format(n1='name',n2='age',n3='sex') 'name age sex' >>>'{}-{}-{}'.format('I','love','you') 'I-love-you'總結
以上是生活随笔為你收集整理的python学习笔记(三)—— 序列类型及方法(列表、元组、字符串)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言—指针高级
- 下一篇: python学习笔记(四)——流程控制