Python之-在字典、列表、集合中刷选数据

一、元组、字典、列表的遍历

1、元组遍历

元组的遍历借助 range() 函数,基本思想是通过元组的长度使用for循环进行遍历

 

1 #troup
2 s = ["aaa","bbb","ccc"]
3 for i in range(len(s)):
4      print s[i]

元组是无法进行重新赋值的,需要将元组进行转换后在进行重新赋值,如转换为list

2、列表遍历

     列表的遍历可以直接使用for循环,也可以借助 range() 函数

 

1 #list
2 #直接遍历
3 s = ["aaa","bbb","ccc"]
4 for i in s:
5     print i
6 #借助range函数
7 s = ["aaa","bbb","ccc"]
8 for i in range(len(s)):
9     print s[i]

 

3、字典遍历

1 #dict
2 res = {'aa':1,'bb':2,'cc':3}
3 for key in res:
4     print res

 

二、元组,列表,字典之间的转换

 

1、对元组进行转换

1 troup = ("aaa","bbb","ccc")
#元组转换列表
2 print list(troup)

3 #元组转换为字符串
4 fruits.__str__() 

2、对列表进行转换

1 #列表转换为元组:  
2 tuple(fruit_list)  
3   
4 #列表转换为字符串:  
5 str(fruit_list) 

3、对字典进行转换

1 #dict
2 res = {'aa':1,'bb':2,'cc':3}
3 #字典转换为元组
4 print tuple(res)
5 #将字典的value转换为列表
6 print list(res.values())

 

Ctrl + /    行注释/取消行注释
Ctrl + Shift + /    块注释

列表:filter函数—— filter(lambda x:x>=0,data)

        列表解析——b = [x for x in data if x>=0]

字典:字典解析——s = {k:v for k,v in d.iteritems() if v>90}

集合:集合解析——d = { x for x in s if x%3==0}

# -*- coding: utf-8 -*-
#在列表中选择
data = [1,5,-3,-8,7,6,-5,10]
res = []
for x in data:
if x>=0:
res.append(x)
print res
import timeit
from random import randint
data = [randint(-10,10) for _ in xrange(10)]
print data
a = filter(lambda x:x>=0,data)
print a

#列表解析
b = [x for x in data if x>=0]
print b

#在字典中选择
d = {x:randint(60,100) for x in xrange(1,21)}
print d
s = {k:v for k,v in d.iteritems() if v>90}
print s

#集合解析
data = [1,5,-3,-8,7,6,-5,12]
s = set(data)
print s
d = { x for x in s if x%3==0}
print d











posted @ 2017-05-15 19:17  bell1991  阅读(340)  评论(0编辑  收藏  举报