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

时间:2023-03-09 07:28:47
Python之-在字典、列表、集合中刷选数据

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

1、元组遍历

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

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

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

2、列表遍历

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

 #list
#直接遍历
s = ["aaa","bbb","ccc"]
for i in s:
print i
#借助range函数
s = ["aaa","bbb","ccc"]
for i in range(len(s)):
print s[i]

3、字典遍历

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

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

1、对元组进行转换

 troup = ("aaa","bbb","ccc")
#元组转换列表
print list(troup)
3 #元组转换为字符串
4 fruits.__str__() 

2、对列表进行转换

 #列表转换为元组:
tuple(fruit_list) #列表转换为字符串:
str(fruit_list)

3、对字典进行转换

 #dict
res = {'aa':1,'bb':2,'cc':3}
#字典转换为元组
print tuple(res)
#将字典的value转换为列表
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