zoukankan      html  css  js  c++  java
  • Day3

    细讲基本数据类型-列表

    >>> names = []
    >>> names
    []#空列表

     列表特性:

    1.可存放多个值

    2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

    3.可修改指定索引位置对应的值,可变

    .append   追加

    .insert (x,'')     插入

    .extend     (扩展)    合并

    >>> name = ['egon','alex','seven','yuan']
    >>> name1 = ['qiangzi','shaohua','xifeng']
    >>> name1.extend(name)       #按顺序将name里的元素追加到name1里
    >>> name1
    ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']

    列表嵌套

    >>> name = ['qiangzi','xifeng','shaohua']
    >>> n = [1,2,3]
    >>> name.insert(1,n)
    >>> name
    ['qiangzi', [1, 2, 3], 'xifeng', 'shaohua']

    嵌套取值

    ['qiangzi', [1, 2, 3], 'xifeng', 'shaohua']
    >>> name[1][2]
    3

    删除

    del 直接删

    >>>name1 = ['qiangzi', [1, 2, 3], 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>> del name1[2]
    >>> name1
    ['qiangzi', [1, 2, 3], 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>>

    pop删#pop删不能在空列表中使用,会报错

    .pop()#默认删除最后一个元素并返回删除值

    >>>name1 = ['qiangzi', [1, 2, 3], 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>> name1.pop()
    'yuan'

    .pop(x)#删除指定元素

    >>>name1 = ['qiangzi', [1, 2, 3], 'xifeng', 'egon', 'alex', 'seven', 'yuan']

    >>> name1.pop(1)
    [1, 2, 3]

    .clear清空

    >>>name1 = ['qiangzi', 'xifeng', 'egon', 'alex', 'seven']
    >>> name1.clear()
    >>> name1
    []

    .remove()#从左到右找到第一个匹配的()元素删掉,如果没有就报错。

    >>> names = ['qiangzi','xifeng','shaohua','qiangzi']
    >>> names.remove('qiangzi')
    >>> names
    ['xifeng', 'shaohua', 'qiangzi']

    修改操作  #直接赋值就可以

    >>> name1 = ['qiangzi', 'xifeng', 'egon', 'alex', 'seven']

    >>> name1[-1] = '啥也不是'
    >>> name1
    ['qiangzi', 'xifeng', 'egon', 'alex', '啥也不是']

    查操作

    .index  #返回从作开始匹配道德的第一个元素的索引,不能查列表中没有的元素

    >>> name1 = ['qiangzi', 'xifeng', 'egon', 'alex', '啥也不是']
    >>> name1.index('啥也不是')
    4

    .count #返回元素相同值得个数,可查列表中没有的元素。返回 0。

    >>> name = ['qiangzi','xifeng','shaohua','qiangzi']
    >>> name.count('qiangzi')
    2

    直接查

    >>> name = ['qiangzi','xifeng','shaohua','qiangzi']

    >>> 'daqiang' in name
    False

    切片

    切片就像切面包,可以同时取出元素的多个值

    names[start:end]

    >>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>> names[0:4] #不包含下标4的元素。切片的特性顾头不顾尾,start元素会包含end-1是实际取出元素
    ['qiangzi', 'shaohua', 'xifeng', 'egon']

    >>> names[1:-1]
    ['shaohua', 'xifeng', 'egon', 'alex', 'seven']

    >>> names[2:]#到最后
    ['xifeng', 'egon', 'alex', 'seven', 'yuan']

    >>> names[:4]#从0开始
    ['qiangzi', 'shaohua', 'xifeng', 'egon']

    倒着切#并非从右往左。一直从左往右

    >>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']

    >>> names[-1:-5]
    []#不可以 只能从小到大,从左往右。

    >>> names[-5:-2]

    ['xifeng', 'egon', 'alex']

    步长 = 步子的长度  

    names[start:end:步长]

    >>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>> names[1:5:2]
    ['shaohua', 'egon']

    >>> names[::2]#只用步长
    ['qiangzi', 'xifeng', 'alex', 'yuan']

    用len实现真正的从作右往左倒着切

    names[-start:-end:-步长]

    >>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>> names[-1:-5]
    []
    >>> names[-1:-5:-1]
    ['yuan', 'seven', 'alex', 'egon']

    排序翻转

    .reverse#把原列表翻转

    >>> names = ['qiangzi', 'shaohua', 'xifeng', 'egon', 'alex', 'seven', 'yuan']
    >>> names.reverse()
    >>> names
    ['yuan', 'seven', 'alex', 'egon', 'xifeng', 'shaohua', 'qiangzi']

    .sort#把原列表排序

    >>> a = [1,5,7,3,2,4,9,15,62,98,56,12]
    >>> a.sort()
    >>> a
    [1, 2, 3, 4, 5, 7, 9, 12, 15, 56, 62, 98]

    for循环  循环列表用for循环

    for % in %

    >>> names =['yuan', 'seven', 'alex', 'egon', 'xifeng', 'shaohua', 'qiangzi']

    >>> for i in names:

           ... print(i)
    yuan
    seven
    alex
    egon
    xifeng
    shaohua
    qiangzi
    >>>

    细讲基本数据类型-元组

    不可变 = 只读列表    不能增、删、改、查

    注意:元组本身不可变,如果元组找那个还包含其他可变元素,这是可变元素可以改变

    语法 ()           tuple 元组  切片

    >>> names = ()
    >>> type(names)
    <class 'tuple'>

    注意:元组本身不可变,如果元组找那个还包含其他可变元素,这是可变元素可以改变

    改变元组中可变数据类型中的值

    >>> data = (36,28,75,['qiangzi','xifeng'],5,4)
    >>> data[3][1] = 'daqiang'
    >>> data
    (36, 28, 75, ['qiangzi', 'daqiang'], 5, 4)

    >>> data = (36,28,75,['qiangzi','xifeng'],5,4)
    >>> id(data[3])
    29119192
    >>> id(data[3][0])
    29088512
    >>> id(data[3][1])
    29088576

    细讲基本数据类型-字符串

    定义:字符串是一个有序的字符的集合,用于存储表示基础的文本信息,' '或" "或''' '''中间包含的内容称之为字符串

    特性:

    1.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

    2.可以进行切片操作

    3不可变,字符串是不可变的,不能像裂变一样像改其中一个元素,所有对字符串的修改操作其实都是想当于生成了一份新数据。

    >>> name = 'WANG'
    >>> name
    'WANG'
    >>> name[0]
    'W'
    >>> name[-1]
    'G'
    >>> name[0:4]
    'WANG'
    >>> name[::]
    'WANG'
    >>> name[::-1]
    'GNAW'

    改变字符串生成新数据

    >>> name = 'QIANG'
    >>> id(name)
    29088864
    >>> name = 'WANG'
    >>> id(name)
    29088832

    补充:字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意思,在引号前面加r。

    >>> name = r'i\thf'
    >>> name
    'i\\thf'
    >>> print(name)
    i\thf

    字符串的常用操作

    .capitalize()  #首字母大写

    >>> name = 'wang qiang'
    >>> name
    'wang qiang'
    >>> name.capitalize()
    'Wang qiang'

    .casefold() #把字符串全变小写

    >>> a = 'WANG QIANG'
    >>> a.casefold()
    'wang qiang'
    >>>

    .center() #装饰

    >>> a = 'WANG QIANG'

    >>> a.center(50,'-')
    '-------------------WANG QIANG--------------------'

    .count() #差元素的个数

    >>> a = 'WANG QIANG'
    >>> a.count('A')
    2
    >>> a.count('a',0,8)
    0
    >>> a.count('A',0,8)
    1
    >>>

      

      

  • 相关阅读:
    调试
    自定义缓冲函数
    缓冲
    如何控制动画
    开发中遇到过的坑
    动画控制属性
    自定义动画
    CATransition(过渡)
    动画基础(显式动画)
    呈现图层
  • 原文地址:https://www.cnblogs.com/wzq1997/p/12908217.html
Copyright © 2011-2022 走看看