Python序列類型
序列:字符、列表、元组 所有序列都支持迭代 序列表示索引为非负整数的有序对象集合 字符和元组属于不可变序列,列表可变
1)字元
字符串字面量:把文本放入单引号、双引号或三引号中; ' '' ''' >>> str1 = ' hello, fanison ' >>> type(str1) str 如果要使用unicode编码,则在字符之前使用字符u进行标识 >>> str2 = u'你好,fanison' >>> type(str2) unicode 文档字串:模块、类或函数的第一条语句是一个字符的话,该 字符串就成为文档字符串,可以使用__doc__属性引用; 例: >>> def printName(): "the function is print hello" print 'hello' >>> printName.__doc__ 运算符: 索引运算符 s[i] 返回一个序列的元素i 切片运算符 s[i:j] 返回一个切片 扩展切片运算符 s[i:j:stride] 例: >>> str3 = 'hello,fanison' >>> str2[0:] 'hello,fanison' 返回所有元素 >>> str2[0:7] 'hello,f' 返回索引7之前的所有元素 >>> str2[0:7:2] 'hlof' 返回从索引0到6内步径为2的元素,即隔一个取一个 >>> str2[7:0:-2] 'a,le' 从索引7处倒着隔一个取一个取到索引1处 >>> str2[-4:-1] 'iso' 从索引-4处取到-2处 >>> str2[-4::-1] 'inaf,olleh' 从-4处到开始处倒着取 注意: 步径为正表示 正着取,索引从小到大 i j 支持运算: 索引、切片、min()、max()、len()等 len(s) s中的元素个数 min(s) s的最小值 max(s) s的最大值 支持方法: S.index(sub [,start [,end]]) 找到指定字符串sub首次出现的位置 S.upper() 将一个字符串转换为大写形式 S.lower() 将一个字符串转化为小写形式 S.join(t) 使用s作为分隔符连接序列t中的字符串 >>> l1 = list(str1) >>> l1 ['h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n'] >>> ''.join(l1) 'hello,fanison' 使用空字符作为分隔符连接列表l1 S.replace(old, new[, count]) 替换一个字符串 >>> str1.replace('fan','FAN') 'hello,FANison' 注意: 使用 help()获取其帮助 >>> help(str.join)
2)清單
列表:容器类型 任意对象的有序集合,通过索引访问其中的元素,可变对象,长度可变,异构,任意嵌套 支持在原处修改 修改指定的索引元素,修改指定的分片,删除语句,内置方法 >>> list1 = [ 1,2,3,'x','n' ] >>> list1[1]=56 >>> print list1 [1, 56, 3, 'x', 'n'] >>> list1[1:3]=[] 会删除索引1到索引3之前的元素 >>> print list1 [1, 'x', 'n'] >>> del(list1[1]) 使用del函数删除list索引为1的元素 >>> print list1 [1, 'n'] 注意: 因为支持原处修改,不会改变内存位置,可使用 id() 查看其位置变化 内置方法: L.count(value) 计算value值出现的次数 L.append(object) 将一个新元素追加到L末端 L.extend(iterable) 增加合并列表(第二个列表内容会以单个元素追加至末端) >>> l1 = [ 1,2,3 ] >>> l2 = [ 'x','y','z'] >>> l1.append(l2) >>> l1 [1, 2, 3, ['x', 'y', 'z']] 使用append方法会以其原有存在形式追加 >>> l1 = [ 1,2,3 ] >>> l1.extend(l2) >>> l1 [1, 2, 3, 'x', 'y', 'z'] 注意两种增加的区别 L.pop([index]) 返回元素index并从列表中移除它,如果省略则返回并移除列表最后一个元素 L.remove(key) 移除值为key的元素 >>> l1 = [ 'x',2,'abc',16,75 ] >>> l1.pop(2) pop方法是按索引移除 'abc' >>> l1 ['x', 2, 16, 75] >>> l1.remove(16) remove方法是按值移除 >>> l1 ['x', 2, 75] L.index(value) 指定值首次出现的位置 L.insert(index, object) 在索引index处插入值 >>> l1.insert(1,'abc') >>> l1 ['x', 'abc', 2, 75] L.sort() 排序 L.reverse() 逆序 >>> l1.sort() [2, 75, 'abc', 'x'] >>> l1.reverse() ['x', 'abc', 75, 2] l1 + l2: 合并两个列表,返回一个新的列表;不会修改原列表; >>> l1 = [ 1,2,3] >>> l2 = [ 'x','y','z'] >>> l1 + l2 [1, 2, 3, 'x', 'y', 'z'] l1 * N: 把l1重复N次,返回一个新列表; >>> l1 * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3] 使用id()查看是否生成新列表 成员关系判断字符: in 用法: item in container not in item not in container >>> l1 = [ 'x','y',3 ] >>> 'y' in l1 True >>> 'x' not in l1 False 列表解析:[] 列表复制方式: 浅复制:两者指向同一内存对象 >>> l1 = [ 1,2,3,4 ] >>> l2 = l1 >>> id(l1) == id(l1) True 可以看出两者内存地址相同 >>> l1.append('x') >>> print l1 [ 1,2,3,4,'x' ] >>> print l2 [ 1,2,3,4,'x' ] 深复制:两者指向不同内存对象 1)导入copy模块,使用deepcoop方法 >>> import copy >>> l3 = copy.deepcopy(l1) >>> id(l3) == id(l1) False 地址不同 2)复制列表的所有元素,生成一个新列表 >>> l4 = l1[:] >>> print l4 [ 1,2,3,4,'x' ] >>> l1.append(6) >>> print l1 [ 1,2,3,4,'x',6 ] l1改变 >>> print l4 [ 1,2,3,4,'x' ] l4不变
3)元組
表达式符号:() 容器类型 任意对象的有序集合,通过索引访问其中的元素,不可变对象,长度固定,异构,嵌套 常见操作: () >>> t1 = ( 1,2,3,'xyz','abc') >>> type(t1) tuple >>> len(t1) 5 >>> t2 = () 定义一个空元组 >>> t3 = ( , ) SyntaxError: invalid syntax 报错:使用逗号分隔的条件是最少要有一个元素 (1,) >>> t1[:] ( 1,2,3,'xyz','abc' ) >>> t1[1:] (2, 3, 'xyz', 'abc') (1,2) >>> t1[1:4] (2, 3, 'xyz') >>> t4 = 'x',1,'yz',45,[2,4,6] 注意!!!这样也可以生成元组 >>> t4 ('x', 1, 'yz', 45, [2, 4, 6]) t1 + t4: 合并两个元组,返回一个新的元组;不会修改原元组; >>> t1 + t4 (1, 2, 3, 'xyz', 'abc', 'x', 1, 'yz', 45, [2, 4, 6]) t1 * N: 把l1重复N次,返回一个新元组; >>> t1 * 3 (1, 2, 3, 'xyz', 'abc', 1, 2, 3, 'xyz', 'abc', 1, 2, 3, 'xyz', 'abc') 成员关系判断 in not in 注意: 虽然元组本身不可变,但如果元组内嵌套了可变类型的元素,那么此类元素的修改不会返回新元组; 例: >>> t4 = ('x', 1, 'yz', 45, [2, 4, 6]) >>> id(t4) 44058448 >>> t4[4] [2, 4, 6] >>> t4[4].pop() 弹出列表内一个元素 6 >>> print t4[4] [2, 4] >>> print t4 ('x', 1, 'yz', 45, [2, 4]) >>> id(t4) 44058448 由此可见,对元组内列表内的修改也会使元组发生改变,没有返回新元组
4)序列操作總結
以上是Python序列型別有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python的靈活性體現在多範式支持和動態類型系統,易用性則源於語法簡潔和豐富的標準庫。 1.靈活性:支持面向對象、函數式和過程式編程,動態類型系統提高開發效率。 2.易用性:語法接近自然語言,標準庫涵蓋廣泛功能,簡化開發過程。

Python因其簡潔與強大而備受青睞,適用於從初學者到高級開發者的各種需求。其多功能性體現在:1)易學易用,語法簡單;2)豐富的庫和框架,如NumPy、Pandas等;3)跨平台支持,可在多種操作系統上運行;4)適合腳本和自動化任務,提升工作效率。

可以,在每天花費兩個小時的時間內學會Python。 1.制定合理的學習計劃,2.選擇合適的學習資源,3.通過實踐鞏固所學知識,這些步驟能幫助你在短時間內掌握Python。

Python適合快速開發和數據處理,而C 適合高性能和底層控制。 1)Python易用,語法簡潔,適用於數據科學和Web開發。 2)C 性能高,控制精確,常用於遊戲和系統編程。

學習Python所需時間因人而異,主要受之前的編程經驗、學習動機、學習資源和方法及學習節奏的影響。設定現實的學習目標並通過實踐項目學習效果最佳。

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)