列表 和 元组

python
1 字符串:
1.1 三个单引号:'''一串长的字符串(可直接换行)'''
1.2 反斜杠  \:可换行。
   如:      字符串1\
                 字符串2
          表示:字符串1字符串2


   数和表达式
   求结果: 1 / 2=0.5  
   求整数部分:1 // 2 = 0   5.0 // 2.4 =2.0 
   求余数: 10 % 3 = 1
   求平方:2**3=8    pow(2,3)=8
   求绝对值:abs(-10)=10
   圆整,相等取偶数:  round(2/3)=1.0
   求下限:math.floor(32.9)=32
   求上限:math.ceil(32.9)=33
   平方根:sqrt(9)=3


   条件语句
   if 'w' in 'wwz' : print('好的')

 

2 列表(集合)
 2.1 可用"[index]"来获取单个元素
 2.2 获取一段元素:arr[startIndex,endIndex]。
可总结为:从arr[startIndex]开始,截取长度为(endIndex-startIndex)的序列段。
 注意:(1)如结束于序列末尾,可简写:[-3:](最后三个)([-3:0]的结果不是想要的)
          (2)如开始于序列开头,可简写:[:3](前三个)
            (3) 获取全部:可简写:[:]
          (4)[4,-4]表示从索引为4开始,结束于从末尾开始索引为4,但不含末尾索引为4的元素。www.baidu.com[4:-4]=[baidu]
  2.3步长 
    2.3.1 默认为1,为1时,可省略。不可为0,可为正数,可为负数 
    2.3.2 格式:arr[startIndex,endIndex:length]
 2.4 序列相加
   [1,2,3]+[4,5,6]=[1,2,3,4,5,6]
   [1,2,3]+'123'=报错
   '111'+'222'='111222'
 2.5序列乘法
  'a'*2='aa'
  [1]*2=[1,1]
  2.6 in 包含,返回布尔值
     'w' in 'wwz'
     'wwz' in ['wwz','wwx']
      [1,3] in [[1,2],[2,3],[4,5]]
 2.7 长度 最小值 最大值
     len(seq) 
     max(seq)
     min(seq)

 2.8 列表 list
 x=[1,2,3]
 2.8.1 修改、赋值:x[0]=99 得 x=[99,2,3]
 2.8.2 删除:del x[1]  得 x=[1,3]
 2.8.3 给切片赋值
   2.8.3.1 修改一个片段:x[0:2]=[4,5] 的 x=[4,5,3]
   2.8.3.2  插入一个片段:x[1:4]=[7,8,9] 得 x=[1,7,8,9]
                                     x[1:1]=[7,8,9] 得 x=[1,7.8.9.2,3]
   2.8.3.3 删除一个片段(即替换为空):x[1:3]=[] 得 x=[1]
 2.8.4 方法

   x=[1]
  2.8.4.1  x.append(2)   =>  x=[1,2]
              x.clear()
              x.count(1) 即"1"在列表中出现几次
              x.index(1) 指定值第一次在列表中出现的索引
              x.insert(index,value) 插入元素
              x.pop(可选参数) 删除最后一个元素,并返回该元素;可选参数(index)有指时,操作指定索引的元素
   2.8.4.2  (1)y=x  y[0]=99  得 x=[99] y=[99] 即浅复制
               (2)y=x.copy() y[0]=100 得 x=[1] y=[100] 即深复制
   2.8.4.3  (1)x=[1,2,3]  y=[4,5,6]
              x.extend(y)  得 x=[1,2,3,4,5,6] y=[4,5,6]
              extend会修改被扩展的列表x,,但是y列表不会变
             (2) x=[1,2,3]  y=[4,5,6]
                   x+y 得 x=[1,2,3]  y=[4,5,6]
                x+y会返回新的列表,执行操作得列表不会发生改变。
            如果为了得到相同得列表即 a=a+b 和 a.extend(b) 即a最终结果都一样,extend的效率要高。
   2.8.4.4   x=[1, 2, 3, 2]
                x.remove(2)  得x=[1,3,2] 删除指为2得第一个元素,参数不是索引
                x.reverse()  得x=[2,3,2,1]
                x,sort() 得x=[1,2,2,3]

>>> x=[1,3,2,4] #sorted返回新的列表,参数不会发生改变
>>> y=sorted(x)
>>> x
[1, 3, 2, 4]
>>> y
[1, 2, 3, 4]


>>> x=1, 111, 22, 2, 33, 44444, 5]#sort高级应用
>>> x.sort(reverse=True)#数字
>>> x
[44444, 111, 33, 22, 5, 2, 1]
>>> x.reverse()
>>> x
[1, 2, 5, 22, 33, 111, 44444]
>>> x=['111','1','22']
>>> x.sort(key=len)#文字
>>> x
['1', '22', '111']


3 元组
 3.1 创建
>>> 1,2,3#创建1
(1, 2, 3)
>>> (1,2,3)#创建2
(1, 2, 3)
>>> ()#空元组
()
>>> 1,#只有1个元素的元组创建时比较特殊,后面必须加逗号
(1,)
>>> 3*(11+2) #注意区别单个元素元组
39
>>> 3*(11+2,)#注意逗号
(13, 13, 13)
>>> x=tuple([1,2,3])#tuple函数创建元组,参数为列表
>>> x
(1, 2, 3)
>>> x=tuple(1,2,3)#tuple函数参数最多为1个
Traceback (most recent call last):
  File "<pyshell#108>", line 1, in <module>
    x=tuple(1,2,3)
TypeError: tuple expected at most 1 arguments, got 3
x
>>> x=tuple((1,2,3))#tuple函数创建元组,参数为元组
>>> x
(1, 2, 3)

 

posted @ 2019-07-01 23:34  冲天小肥牛  阅读(189)  评论(0编辑  收藏  举报