您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Python序列类型有哪些?

2024/3/31 11:24:35发布18次查看
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 步径为负表示 倒着取,索引从大到小 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序列类型有哪些?的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product