python初学(3)列表(List)应用(待续ing)
2016-05-28 22:59
459 查看
list 的应用
1、遍历list
(1)、for 循环迭代
(2)、while循环索引
(3)、多重列表遍历
想一想:li = [1 , 2 , [ 3 , 4 , 5 , 6] ,( 7 , 8 ), [9 , 10] ] 按1~10读出
列表里牵扯元祖又该如何遍历?
2、清空列表
实例:
l1 = []
l1[:] = []
del l1[:]
3、列表模拟栈和队列(是两种非常有用的数据结构)
实例:
(1)、栈:先进后出
li = [1 , 2 , 3 , 4 , 5 , 6]
li.append(7) #相当于进栈,push()函数
li.pop() #相当于C语言里的top()和pop()函数
print '--------------------------'
(2)、队列:先进先出
li = [1 , 2 , 3 , 4 , 5 , 6]
li.pop(0) #取队列首元素,相当于pop()和front()函数
li.append(7) #相当于进队,push()函数
4、列表去重(由麻烦到简单)
(1)、pop()去重
借助pop函数删除每个数以后的所有与他重复的数
(2)、append()去重
借助于另一个列表,起到类似于集合去重的作用
(3)、set(集合)去重
直接利用集合里的元素不能相同,去重,最为简单
(4)、还可以利用二重循环,列表切片的知识去重,但较为麻烦,可以自己试着想一下
1、遍历list
(1)、for 循环迭代
(2)、while循环索引
实例: li = [1 , 2 , 3 , 4 , 5 , 6] for x in li: print x, print '' print '------------------------------' i = 0 while i < len(li): print li[i], i += 1
(3)、多重列表遍历
实例:li = [1 , 2 , [ 3 , 4 , 5 , 6] , 7 , 8, [9 , 10] ] 按1~10读出 False: for x in li: for y in x: print y, True: for x in li: #结果 1 2 3 4 5 6 7 8 9 10 if type(x) == list: for y in x: print y, else : print x, type函数的使用:判断数据类型
想一想:li = [1 , 2 , [ 3 , 4 , 5 , 6] ,( 7 , 8 ), [9 , 10] ] 按1~10读出
列表里牵扯元祖又该如何遍历?
2、清空列表
实例:
l1 = []
l1[:] = []
del l1[:]
3、列表模拟栈和队列(是两种非常有用的数据结构)
实例:
(1)、栈:先进后出
li = [1 , 2 , 3 , 4 , 5 , 6]
li.append(7) #相当于进栈,push()函数
li.pop() #相当于C语言里的top()和pop()函数
print '--------------------------'
(2)、队列:先进先出
li = [1 , 2 , 3 , 4 , 5 , 6]
li.pop(0) #取队列首元素,相当于pop()和front()函数
li.append(7) #相当于进队,push()函数
4、列表去重(由麻烦到简单)
(1)、pop()去重
借助pop函数删除每个数以后的所有与他重复的数
实例: li = [ 1, 1 , 2 , 3 , 1 , 1 , 2 , 3 , 5 , 7 , 9 , 1 , 2] i = 0 while i <len(li): pf = li.index(li[i]) if li.count(li[i]) > 1: li.pop(li.index(li[i] , pf + 1)) i -= 1 i += 1 print li
(2)、append()去重
借助于另一个列表,起到类似于集合去重的作用
实例: li = [ 1, 1 , 2 , 3 , 1 , 1 , 2 , 3 , 5 , 7 , 9 , 1 , 2] li2 = [] for x in li: if x not in li2: li2.append(x) li = li2[:] print li
(3)、set(集合)去重
直接利用集合里的元素不能相同,去重,最为简单
实例: li = [ 1, 1 , 2 , 3 , 1 , 1 , 2 , 3 , 5 , 7 , 9 , 1 , 2] li = list(set(li)) print li
(4)、还可以利用二重循环,列表切片的知识去重,但较为麻烦,可以自己试着想一下
相关文章推荐
- 在Python标准库的json包中,提供了JSONEncoder和JSONDecoder两个类来实现Json字符串和dict类型数据的互相转换。
- LeetCode Largest Number
- 《Python3廖雪峰》datetime转timestamp练习题答案
- Python读取iOS安装包IPA中的信息和图片
- NumPy的详细教程
- python datetime 时间日期处理
- Python Decorator
- 第一次用python写线性回归
- python 使用记录
- Macpro + python + opencv
- Eclipse和PyDev搭建完美Python开发环境
- python web framework
- leetcode 153. Find Minimum in Rotated Sorted Array-二分查找|递归|非递归
- Python学习 (八 IO编程)
- 基于KNN算法的约会网站配对效果 python3.2
- Python2.x和Python3.x的区别
- Selenium自动化Page模式(Python)
- Python3 爬虫(三) -- 爬取豆瓣首页图片
- 一段python分级基金数据收集代码
- python编码问题分析