zoukankan      html  css  js  c++  java
  • Python的序列Ⅰ

    Python包含6种内建的序列:列表,元组,字符串,Unicode,buffer对象,xrange对象。

    通用序列操作包括:索引,分片,加,乘,成员资格。

    另外还有长度(len),最小值(min),最大值(mix)内建函数

    • 列表 

    基本的列表操作

    #创建一个列表
    >>> nums = [1,2,3,5]
    >>> nums
    [1, 2, 3, 5]
    
    #元素赋值
    >>> nums[2] = 7
    >>> nums
    [1, 2, 7, 5]
    >>> 
    
    #删除元素
    >>> del nums[0]
    >>> nums
    [2, 7, 5]
    
    #list函数(类型)可以根据字符串创建列表
    >>> st = list('Hello')
    >>> st
    ['H', 'e', 'l', 'l', 'o']
    
    #分片 使用索引访问单个元素,使用分片来访问一定范围的元素
    >>> nums = [1,2,3,4,5,6,7,8,9,10]
    >>> nums[2:6]
    [3, 4, 5, 6]
    
    ##为了让分片能够包含列表的最后一个元素,必须提供 大于最后一个元素索引的索引作为边界
    >>> nums[2:10]
    [3, 4, 5, 6, 7, 8, 9, 10]
    
    ##从结尾开始计数
    >>> nums[-3:]
    [8, 9, 10]
    
    ##从开始开始计数
    >>> nums[:3]
    [1, 2, 3]
    
    ##整个列表
    >>> nums[:]
    [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    
    ##步长
    >>> nums[0:10:3]
    [1, 4, 7, 10]
    >>> nums[::4]
    [1, 5, 9]
    >>> nums[::-2]
    [10, 8, 6, 4, 2]
    
    ##分片赋值
    >>> name = list('hemin')
    >>> name
    ['h', 'e', 'm', 'i', 'n']
    >>> name[2:] = list('shen')
    >>> name
    ['h', 'e', 's', 'h', 'e', 'n']
    
    ##插入与删除
    >>> nums2 = [1,5]
    
    >>> nums2[1:1] = [2,3,4]
    >>> nums2
    [1, 2, 3, 4, 5]
    >>> nums2[1:4] = []
    >>> nums2
    [1, 5]

    列表方法

    # append() 追加,append直接修改原来的列表,不是返回修改过的新列表
    >>> letters = ['a','b',"c"]
    >>> letters.append('d')
    >>> letters
    ['a', 'b', 'c', 'd']
    
    #count() 统计指定元素出现的次数
    letters = list('aabcdeeefggggh')
    >>> letters.count('g')
    4
    
    #extend() 列表末尾追加多个值,或说可以用新列表扩展原列表
    >>> letters2 = list('ijklmn')
    >>> letters.extend(letters2)
    >>> letters
    ['a', 'a', 'b', 'c', 'd', 'e', 'e', 'e', 'f', 'g', 'g', 'g', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n']
    #注:extend 和 append 直接修改原来的列表,而连接操作会返回一个全新的列表,连接操作比extend方法效率低
    >>> a = [1,2,3]
    >>> b = [4,5,6]
    >>> a+b
    [1, 2, 3, 4, 5, 6]
    >>> a
    [1, 2, 3]#a没改变
    
    #insert() 插入
    >>> nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    >>> nums.insert(2,'two')
    >>> nums
    [1, 2, 'two', 3, 4, 5, 6, 7, 8, 9, 10]
    
    #pop pop方法会移除列表中的一个元素(根据索引移除)
    >>> nums.pop()#默认移除最后一个元素
    10
    >>> nums
    [1, 2, 'two', 3, 4, 5, 6, 7, 8, 9]
    >>> nums.pop(3)
    3
    >>> nums
    [1, 2, 'two', 4, 5, 6, 7, 8, 9]
    
    # remove() remove 方法会移除列表中的一个元素第一个匹配项(根据元素移除)
    >>> letters = list('abccd')
    >>> letters.remove('c')
    >>> letters
    ['a', 'b', 'c', 'd']
    
    # reverse() 列表元素反向存放
    >>> le = list('abc')
    >>> le.reverse()
    >>> le
    ['c', 'b', 'a']
    >>> 
    
    #列表复制
    >>> x = [5,4,7]
    >>> y = x      #这样x和y指向同一个列表
    >>> z = x[:]  #应该这样复制
    
    >>> x.sort()
    
    >>> y
    [4, 5, 7]
    >>> z
    [5, 4, 7]
    
    #排序
    #sort() 列表排序
    >>> num = [5,7,6,9,2,1]
    >>> num.sort()
    >>> num
    [1, 2, 5, 6, 7, 9]
    
    #sort(*, key=None, reverse=None),key表示排序的关键字,reserve表示是否逆序。Python3的sort是稳定排序。
    >>>a=['abc','abcd','ab']
    >>> a.sort(key=len)
    >>> a
    ['ab', 'abc', 'abcd']
    
    #clear() 清空列表
    #copy() 复制列表
    • 元组

    #元组不能被修改
    #创建元组
    >>> 1,2,3
    (1, 2, 3)
    
    >>> 'a','b','c'
    ('a', 'b', 'c')
    
    >>> ()#空元组
    ()
    
    >>> ('d',) #只包含一个元素
    ('d',)
    
    #元组的意义:元组可以在映射中当做键使用,列表不行;元组作为很多内建函数的方法和返回值存在
    c
  • 相关阅读:
    Vue.js中css的作用域
    vue搭建脚手架
    一对多,多对一关系映射
    java.time.format.DateTimeFormatter
    java.time.ZonedDateTime
    Akka(23): Stream:自定义流构件功能-Custom defined stream processing stages
    Akka(22): Stream:实时操控:动态管道连接-MergeHub,BroadcastHub and PartitionHub
    Akka(21): Stream:实时操控:人为中断-KillSwitch
    Akka(20): Stream:异步运算,压力缓冲-Async, batching backpressure and buffering
    Akka(19): Stream:组合数据流,组合共用-Graph modular composition
  • 原文地址:https://www.cnblogs.com/Tabby/p/7470512.html
Copyright © 2011-2022 走看看