您的位置:首页 > 编程语言 > Python开发

python初学(3)列表(List)应用(待续ing)

2016-05-28 22:59 459 查看
list 的应用

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)、还可以利用二重循环,列表切片的知识去重,但较为麻烦,可以自己试着想一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: