• Python学习之==>数组(二)


    1、切片

    1 # 切片:是list取值的一种方式
    2 nums = ['段佳琳','陈伟良','王占宇','李波','韶钢']
    3 print(nums[1:3])  # 顾头不顾尾,不包含后面下标的元素
    4 print(nums[1:])   # 从某个下标开始取,取到末尾,末尾的下标可以省略不写
    5 print(nums[:2])   # 从头开始取,取到后面某个下标结束(不包括该下标的元素),开头的下标可以不写
    6 print(nums[:])    # 取所有的元素

    切片操作同样适用于字符串,如下:

    1 info = '你好,今天天气很好'
    2 print(info[2:6:1])
    3 s = 'San Francisco'
    4 print(s[0])
    5 print(s[::-1])

    2、步长

     1 # 步长,隔几个取一次
     2 lis = list(range(1,21))  # 产生一个从1~20的一个数组
     3 print(lis)
     4 # 如果步长是正数,从左往右开始取值
     5 print(lis[::2])
     6 print(lis[0:10:2])
     7 # 如果步长是负数,从右往左开始取值
     8 print(lis[::-2])  # 步长,隔个几个取一次
     9 print(lis[::-1])  # 反转list,产生了一个新的list,不会改变原来list的值,与reverse不同
    10 print(lis)
    11 # -1倒序,从下标为1的元素'2'从右往左取值,因结尾没有取值,所以取到下标为0的元素
    12 print(lis[1::-1])
    13 # -1倒序,开头没有取值,所以默认从20往左取值,取到下标为18的元素‘19’,但不顾尾,所以19不取
    14 print(lis[:18:-1])

    3、list循环

     1 # for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素
     2 lists = ['段佳琳','陈伟良','王占宇','李波','韶钢',[1,2,3,4]]
     3 for name in lists:
     4     print(name)
     5 for name in lists:
     6     if type(name) == list:   # 判断变量的类型是否为list类型
     7         for i in name:
     8             print(i)
     9     print(name)
    10     
    11 # 字符串循环的是每一个字符,包括任何字母、符号及空格
    12 words = 'marry,lily,joker'
    13 for name in words:
    14    print(name)

    4、数组练习

     1 # 统计出所有已交和未交作业的名字及人数
     2 stus = [
     3           ['小明','未交'],
     4           ['小白','已交'], ['小紫','已交'],
     5           ['小红','未交'], ['小绿','未交'],
     6           ['小黄','未交'], ['小黑','已交']
     7          ]
     8 
     9 pass_list = []  #已交
    10 fail_list = []  #未交
    11 for stu in stus:
    12     name = stu[0]
    13     status = stu[1]
    14     if status == '已交':
    15         pass_list.append(name)
    16     else:
    17         fail_list.append(name)
    18 print('已交作业的人为:%s,总共有%s人'%(pass_list,len(pass_list)))
    19 print('未交作业的人为:%s,总共有%s人'%(fail_list,len(fail_list)))

    5、元组

     1 # 元组也是一个list,它和list的区别是:元组里面的元素无法修改
     2 t = (1,2,3,4,5,6,7)
     3 print(type(t))  #查看变量类型
     4 print(t[:3])    #切片
     5 print(t[1])     #下标取值
     6 
     7 # 元组的元素是不能修改的,一般用于定义数据库连接等不能修改的数据,如下:
     8 lists = (
     9    '192.168.0.1',
    10    'root',
    11    '123456',
    12    '3306',
    13    'niuhanyang')
    14 
    15 # 如果元组里面只有一个元素,那么必须在这个元素后面加一个逗号
    16 t = (1,2,3,4,5,6,7,2)
    17 words=(1,)
    18 words2=('abc',)
    19 print(type(words))
    20 print(type(words2))
    21 print(t.index(2))  # 找到元组的下标,如果有多个相同的元素,返回的是第一个元素的下标
    22 print(t.count(2))  # 找到元素的个数
  • 相关阅读:
    HDOJ 2095 find your present (2)
    HDOJ 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
    九度 1337 寻找最长合法括号序列
    九度 1357 疯狂地Jobdu序列
    HDOJ 1280 前m大的数
    九度 1343 城际公路网
    九度 1347 孤岛连通工程
    HDOJ 2151 Worm
    九度 1342 寻找最长合法括号序列II
    九度 1346 会员积分排序
  • 原文地址:https://www.cnblogs.com/L-Test/p/8821199.html
Copyright © 2020-2023  润新知