• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Python列表生成式

python 搞代码 4年前 (2022-01-09) 16次浏览 已收录 0个评论

Python列表生成式

1. 生成列表

L = []for x in range(1, 11):    L.append(x * x)print Lprint '\n'print [x * x for x in range(1, 11)]print '\n'print [x * (x + 1) for x in range(1, 100, 2)]

2. 复杂表达式

d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }tds = ['<tr><td>%s</td><td>%s</td></tr>' % (name, score) for name, score in d.iteritems()]print '<table>'print '<tr><th>Name</th><th>Score</th><tr>'print '\n'.join(tds)print '</table>'print '\n'd = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }def generate_tr(name, score):    if score < 60:        return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)    return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)tds = [generate_tr(name, score) for name, score in d.iteritems()]print '<table border="1">'print '<tr><th>Name</th><th>Score</th><tr>'print '\n'.join(tds)print '</table>'

3. 条件过滤

print [x * x for x in range(1, 11)]print '\n'print [x * x for x in range(1, 11) if x % 2 == 0]print '\n'def toUppers(L):    return [x.upper() for x in L if isinstance(x, str)]print toUppers(['Hello', 'world', 101])

4. 多层表达式

print [m + n for m in 'ABC' for n in '123']print '\n'L = []for m in 'ABC':    for n in '123':        L.append(m + n)print Lprint '\n'print [100 * n1 + 10 * n2 + n3 for n1 in range(1, 10) for n2 in range(10) for n3 in range(10) if n1==n3<div>本文来源gaodai.ma#com搞##代!^码@网3</div>]

更多Python列表生成式 相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Python列表生成式
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址