Home  >  Article  >  Backend Development  >  Python list generation

Python list generation

高洛峰
高洛峰Original
2017-02-17 11:10:141457browse

Python list generation

1. Generate list

L = []
for x in range(1, 11):
    L.append(x * x)
print L

print '\n'

print [x * x for x in range(1, 11)]

print '\n'

print [x * (x + 1) for x in range(1, 100, 2)]

2. Complex expression

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. Conditional filtering

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. More Layer expression

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 L

print '\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]

For more Python list generation related articles, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn