zoukankan      html  css  js  c++  java
  • 【Python】学习笔记2-数据类型:数组、数组循环切片

    数组、数组循环切片、字符串方法、字典、元组

    一、数组

    1、一维数组,就是list:

     1 strus = ['xiaohei','xiaobai','xiaohuang']
     2 print(strus)# 输出全部数组
     3 print(strus[2])# 小标,角标,索引 0 1 2 3
     4 print(strus[-1])# 最后一个元素下标是-1
     5 #
     6 # 增加append
     7 strus.append('chenmenmg') # append,增加到末尾
     8 # 增加insert
     9 strus.insert(0,'chenmeng1')# insert,在指定是位置增加元素,如果指定的小标不存在,那么就在末尾添加
    10 strus.insert(6,'chenmen6')
    11 strus.insert(-1,'chenmeng7')# 注意:insert不要用-1,位置不对
    12 print(strus)
    13 #
    14 # 修改,即赋值
    15 # 替换strus[6]strus[7]
    16 strus[0]='chenmeng0'
    17 t=strus[6]
    18 strus[6]=strus[5]
    19 strus[5]=t
    20 print(strus)
    21 
    22 # 查找某个字符在字符串中
    23 if 'xiaohei' in strus:
    24     print('aaaaaaaa')
    25 # 查看某个元素在数组里面的个数,count,不存在返回0
    26 print(strus.count('chenmenmg'))
    27 # 找到元素的索引,如果有多个找到第一个,如果找到一个不存在的,就报错
    28 print(strus.index('chenmenmg'))
    29 
    30 # 删除pop
    31 print('删除',strus)# pop默认删除最后一个元素,可以指定下标删除
    32 strus.pop(0)
    33 strus.pop()
    34 print(strus.pop())# 删除直接打印,会将删除的值返回
    35 print(strus)
    36 
    37 # 删除remove 删除不会打印自己
    38 strus.remove('xiaohei')
    39 print(strus)
    40 
    41 # 删除del 删除指定元素
    42 del strus[0]
    43 print(strus)
    44 
    45 # clear 清空整个list
    46 strus.clear()
    47 print(strus)
    48 
    49 # reverse,反转list
    50 strus = [1,2,3]
    51 print(strus)
    52 strus.reverse()
    53 print(strus)
    54 
    55 # sort 排序,默认升序
    56 strus = [11,200,3]
    57 print(strus)
    58 strus.sort()
    59 print(strus)
    60 strus.sort(reverse=True)# 注意:按照降序排,sort指定reverse=True
    61 print(strus)

     2、多维数组

     1 # 二维数组
     2 two =[1,2,[31,32]]
     3 print(two)
     4 print(two[2][0])
     5 # 三维数组
     6 three =[2,5,[1,7,[0,10]]]
     7 print(three)
     8 print(three[-1][-1][-1])# 打印最后一个
     9 
    10 # 合并两个数组extend
    11 two.extend(three)
    12 print(two)
    13 print(three)

    3、list循环

     1 # 循环
     2 names =['cm1','cm2','cm3']
     3 for name in names: #如果直接for循环一个list的时候,那面每次循环的值是这个list里面的元素,换行打印list数组里面的元素
     4     print(name)
     5 
     6 # 循环,同时打印索引和数组值enumerate(枚举),必须含有两个参数
     7 for index, item in enumerate(names):#i,v随意注册的变量
     8     print ("index = %s,value = %s" % (index, item)) # index = 0,value = cm1
     9 
    10 # 注意:循环list时,不能有删除的操作,因为一旦删除一次,list就变化,如下:删除所有奇数
    11 
    12 # 错误写法
    13 li = [1,1,2,3,4,5,6,7,8,9]
    14 for i in li:
    15     if i%2!=0:
    16         li.remove(i)
    17 print(li)
    18 
    19 # 正确写法
    20 # remove(),()中是值
    21 li = [1,1,2,3,4,5,6,7,8,9]
    22 li2 =li[:]
    23 for i in li2:
    24     if i%2!=0:
    25         li.remove(i)
    26 print(li)
    27 
    28 # 注意:不能用li2=li,指针一样
    29 # 注意:li2=li浅拷贝
    30 # 注意:li2 =li[:]深拷贝
    31 # 深浅拷贝的区别,内存地址是否变化
    32 
    33 # 打印list的地址id()
    34 li2=li
    35 print("Li地址:",id(li))
    36 print("Li2地址:",id(li2))

    4、list切片

     1 # 切片:list取值的一种方式,顾头不顾尾
     2 new_names = names[0:1] #取names【0】直到name【1】,不取name【1】:['cm1']
     3 new_names = names[:1] # 如果切片前面一个值不写的话,从开头开始取,输出['cm1']
     4 print(names[1:]) # 如果切片后面一个值不写的话,取末尾:['cm2', 'cm3']
     5 print(names[:])# 如果切片前面后面的值都不写的话,全部取出来
     6 
     7 # 步长,常用概率高:间隔几个取一个
     8 nums = [1,2,3,4,5,6,7,8,9]
     9 print(':1',nums[::2]) #:1 [1, 3, 5, 7, 9]
    10 
    11 # 步长是正数时,从左往右取
    12 # 步长是负数时,从右往左取
    13 print(':1',nums[::-1]) #等价于反转:1 [9, 8, 7, 6, 5, 4, 3, 2, 1]
    14 print(nums[-1:-3:-1])#用的频率低,最后是-1,代表从右向左取值,小标依次为-1、-2、-3,取头不取尾,所以不取-3的值
    15 
    16 # 切片同样适用于字符串,字符串也有下标,空格算一个字符
    17 title = '今天圣诞节'
    18 print(title[2:]) #圣诞节
    19 for t in title:
    20     print(t)
  • 相关阅读:
    System.in.read() 回车
    eclipse for C/C++
    J2EE和Java EE
    MySQL中的string类型
    javac: 无效的标记: FilesJavajdk1
    java eclipse com.mysql.jdbc.Driver
    (转)apache外网不能访问分析与解决方法
    jvm调优
    java性能调优03
    java性能调优02
  • 原文地址:https://www.cnblogs.com/amengmeng/p/8204225.html
Copyright © 2011-2022 走看看