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))  # 找到元素的个数

 

posted on 2018-04-13 16:22  破解孤独  阅读(1050)  评论(0编辑  收藏  举报

导航