最近在学习Python, 虽然说语法不是很复杂,可是还是有很多微妙之处,下面是对"推导列表的简单例子"
所谓的"推导列表"就是更具表达式来生成有规则的列表.
#简单的推导列表
def singleSlightlyLoopSample():
list1=[x*x for x in range(100)];
print(list1);
#包含元祖的推导列表
def doubleSlightlyLoopSample():
list1=[(x,y) for x in range(10) for y in range(10,20)];
print(list1);
print("please input entry to exit!");
#利用条件判断的推导列表
def conditionSlightlyLoopSample():
girls = ['alice', 'bernice', 'clarice']
boys = ['chris', 'arnold', 'bob']
#只有boy和girl的第一个字母都相同时才会组成元祖
list1=[(b,g) for b in boys for g in girls if b[0]==g[0]]
print(list1);
#利用字典生成的推导列表
def conditionSlightlyLoopSampleByDict():
girls = ['alice', 'bernice', 'clarice','david']
boys = ['chris', 'arnold', 'bob','jason']
#根据女孩名字的第一个字母,以及名字生成一个字典
girlsDict=dict([(k[0],k) for k in girls])
#根据boy名字的第一个字母作为key到女孩的字典中取查找
bMppingG=[(b,girlsDict.get(b[0])) for b in boys]
print(bMppingG);
#singleSlightlyLoopSample();
#doubleSlightlyLoopSample();
#conditionSlightlyLoopSample();
conditionSlightlyLoopSampleByDict();
分享到:
2013-04-01 20:27
浏览 580
评论