博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习系列(四)(列表及其函数)
阅读量:6672 次
发布时间:2019-06-25

本文共 4407 字,大约阅读时间需要 14 分钟。

 

 

  

  

 

一、基本概念
1,列表是什么?
      一种序列型数据类型,一有序数据集合用逗号间隔用方括号括起来。
2,几种访问形式
1)索引访问,语法结构:list_name[index]。注意,列表的索引值从0开始。例如:
1 >>> li=[1,2,3,4,5]2 >>> print li[2],li[0]3 3 1
View Code

删除列表的项:

1 >>> del li[2]2 >>> print li3 [1, 2, 4, 5]
View Code

2)切片访问,语法结构:list_name[start_index,end_index,step]。例如:

1 >>> li=[1,2,3,4,5]2 >>> print li[2:4]3 [3, 4]4 >>> li=[1,2,3,4,5]5 >>> print li[2:4:2]6 [3]
View Code

删除列表项:

1 >>> del li[2:4]2 >>> print li3 [1, 2, 5]
View Code

3,基本运算

1)加法:将多个列表组合成一个新的更长的列表。
1 >>> li=[1,2,3,4,5]2 >>> li1=range(6,9)3 >>> li2=li+li14 >>> print li25 [1, 2, 3, 4, 5, 6, 7, 8]
View Code

2)乘法:相当于同一个列表相加了n次。

1 >>> print li1*22 [6, 7, 8, 6, 7, 8]
View Code

3)(not)in运算:即包含与否的运算,判断某个值是否为列表的元素。

1 >>> print 2 in li2 True3 >>> print 10 in li24 False5 >>> print 10 not in li26 True
View Code

4)遍历:逐一访问列表里的各个元素通过for循环来依次取出列表的各个元素项的值。

1 >>> li1=[1,2,3,4,5] 2 >>> li=li1*3 3 >>> i=0 4 >>> for val in li: 5  print 'li[%d]'%(i),val 6  i+=1 7 (空格,Enter键运行) 8 li[0] 1 9 li[1] 210 li[2] 311 li[3] 412 li[4] 513 li[5] 114 li[6] 215 li[7] 316 li[8] 417 li[9] 518 li[10] 119 li[11] 220 li[12] 321 li[13] 422 li[14] 5
View Code

列表的解析:[val_expr for val in list_name],其中:

val_expr:是变量val的运算表达式,val用于存储for每次从list_name列表取出的元素的值,用每一个val_expr的值作为构建新列表的元素项。

练习:用列表求1~9的立方。

1 >>> li=range(1,10)2 >>> print li3 [1, 2, 3, 4, 5, 6, 7, 8, 9]4 >>> li1=[x**3 for x in li]  #列表的解析5 >>> print li16 [1, 8, 27, 64, 125, 216, 343, 512, 729]
View Code

二、相关函数

    列表的相关函数很多,可以通过help函数查看。现在选取几个比较重要的函数举例,加以理解。
1)len()函数:是Python内建函数不属于任何数据类型,一般序列型的数据都可以通过它来测得其长度。
1 >>> li=range(1,11)2 >>> print li3 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]4 >>> print len(li)5 10
View Code

2)count()函数:统计列表里某元素项出现的次数。

1 >>> li=range(1,3)2 >>> li2=li*33 >>> print li24 [1, 2, 1, 2, 1, 2]5 >>> print li2.count(li2[2])6 37 >>> print li2.count('a')8 0
View Code

3)insert函数:将对象添加到列表指定位置,列表里的元素顺序后移。

1 >>> li=[] 2 >>> li=range(1,11) 3 >>> print li 4 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5 >>> li.insert(5,10) 6 >>> print li 7 [1, 2, 3, 4, 5, 10, 6, 7, 8, 9, 10] 8   9 >>> li.insert(6,li1)10 >>> li11 [1, 2, 3, 4, [5, 6, 7, 8, 9], [5, 6, 7, 8, 9]]
View Code

4)append函数:将对象添加到列表尾部位置。

例一:插入对象为列表里单个元素。
>>> li=[]>>> li1=range(1,5)>>> for x in li1: li.append(x)  >>> print li[1, 2, 3, 4]
View Code

例二:插入对象为列表。

1 >>> li=[] 2 >>> li1=range(1,5) 3 >>> for x in li1: 4  li.append(x) 5   6   7 >>> print li 8 [1, 2, 3, 4] 9 >>> li1=range(5,10)10 >>> li.append(li1)11 >>> print li12 [1, 2, 3, 4, [5, 6, 7, 8, 9]]
View Code

5)extend函数:将一个列表是所有元素以个体的方式添加到列表的尾部。

1 >>> li1=range(1,6)2 >>> li2=range(6,10)3 >>> print li1,'\n',li24 [1, 2, 3, 4, 5]5 [6, 7, 8, 9]6 >>> li1.extend(li2)7 >>> li18 [1, 2, 3, 4, 5, 6, 7, 8, 9]
View Code

6)remove函数:删除列表的第一次出现的指定元素。

1 >>> li=range(1,4)*32 >>> print 'li',li3 li [1, 2, 3, 1, 2, 3, 1, 2, 3]4 >>> print 'li=',li5 li= [1, 2, 3, 1, 2, 3, 1, 2, 3]6 >>> li.remove(2)7 >>> print 'li=',li8 li= [1, 3, 1, 2, 3, 1, 2, 3]
View Code
7)pop函数:删除列表指定位置的元素或者列表的尾部元素。
1 >>> li=range(1,4)*3 2 >>> print 'li=',li 3 li= [1, 3, 1, 2, 3, 1, 2, 3] 4 >>> li.pop() 5 3 6 >>> li 7 [1, 3, 1, 2, 3, 1, 2] 8 >>> li.pop(3) 9 210 >>> li11 [1, 3, 1, 3, 1, 2]
View Code

练习:

1、用函数实现剔除表里重复的元素
i)remove函数实现:
1 >>> li='www.baidu.com'*10  2 >>> li=list(li)  3 >>> li.sort()  4 >>> i=0  5 >>> for s in li:  6 while li.count(s)>1:  7 li.remove(s)  8 i+=1  9 10 11 >>> print li 12 ['.', 'a', 'b', 'c', 'd', 'i', 'm', 'o', 'u', 'w']
View Code

ii)pop函数实现:

1 li=[1,1,1,2,2,2,3,3,3,3,4] 2 length=len(li) 3 print li 4 pos=length-1 5 while pos>=0: 6     r=li.count(li[pos]) 7     if r>1: 8         i=0 9         while i
View Code

iii)extend函数和append函数实现(有兴趣的同学可以尝试尝试)

2、去除二维列表[],二维变一维。
i)嵌套循环实现:isinstance函数可以判定数据的类型。
1 li=[1,2,4,range(1,4),5,range(1,4),6] 2 print li 3 k=0 4 for li1 in li: 5     if isinstance(li1,list): 6         j=0 7         for li2 in li1: 8             li.insert(k+j,li2) 9             li.remove10             j=j+111         del li[k+j]12     k=k+113 print li
View Code

ii)单循环实现:

1 li=[1,2,4,range(1,4),5,range(1,4),6]2 print li3 b=[]4 for i in li:5     if isinstance(i,list):6         b.extend(i)7     else:8          b.append(i)9 print(b)
View Code

三、元组(Tuple)

    元组的结构,访问,使用方法和列表基本一致,区别有二:
    i)使用圆括号()将各个数据项括起来;
    ii)元组的元素值不可修改。
实例:
1 >>> t=tuple(range(1,10))2 >>> print t3 (1, 2, 3, 4, 5, 6, 7, 8, 9)4 >>> print t[3]5 46 >>> print t[2:8]7 (3, 4, 5, 6, 7, 8)
View Code

 四,小结

     本文介绍了Python的列表的基本概念,相关函数及其用法举例,还初步介绍了元组知识,通过练习,应该对Python的列表知识有一个初步的认识。

转载于:https://www.cnblogs.com/zhangbc/p/3856442.html

你可能感兴趣的文章
【Spring Boot】13.整合druid
查看>>
Java并发和并行的区别
查看>>
extjs down 的用法
查看>>
IDEA快捷键介绍使用
查看>>
layabox基础:hello world
查看>>
ClassUtil
查看>>
Elastic-Job定时任务
查看>>
真实分享记录我学习Linux系统遇到的问题
查看>>
Linux下查找占用内存最多的进程
查看>>
mongodb 配置文件
查看>>
查看 docker 容器使用的资源
查看>>
Jedis的配置和优化
查看>>
layui + 阿里巴巴iconfont图标库导入
查看>>
2017总结一
查看>>
Spring boot 入门--1
查看>>
MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数的用法
查看>>
Power Designer数据库建模工具,正向、逆向工程
查看>>
Libevent学习-02:搭建CentOS下的开发环境
查看>>
java操作Excel、word和pdf
查看>>
阿里巴巴常考面试题及汇总答案
查看>>