列表解析式

newlist = []
for i in range(10):
    newlist.append((i + 1) ** 2)

print(newlist)

newlist1 = [(i+1)**2 for i in range(10)]
print(newlist1)

語法 [返回值 for 元素 in 可迭代對象 if 條件]

if條件語句可選

返回一個新的列表

 

作用:

一種語法糖

編譯器會優化,提高效率

減少工作量,減少出錯

簡化代碼,但可讀性增加

 

獲取20以內的偶數

print([i for i in range(20) if i % 2 == 0])

獲取20以內的偶數,如果是3的倍數也打印出來

print([i for i in range(21) if i % 2 == 0 and i % 3 == 0])

 

ret = []
for i in 'abc':
    for j in range(3):
        ret.append({i: j})


print(ret)


print([{i: j} for i in 'abc' for j in range(3)])
print([[i, j] for i in 'abc' for j in range(3)])
print([(i, j) for i in 'abc' for j in range(3)])

out:
[{'a': 0}, {'a': 1}, {'a': 2}, {'b': 0}, {'b': 1}, {'b': 2}, {'c': 0}, {'c': 1}, {'c': 2}]
[{'a': 0}, {'a': 1}, {'a': 2}, {'b': 0}, {'b': 1}, {'b': 2}, {'c': 0}, {'c': 1}, {'c': 2}]
[['a', 0], ['a', 1], ['a', 2], ['b', 0], ['b', 1], ['b', 2], ['c', 0], ['c', 1], ['c', 2]]
[('a', 0), ('a', 1), ('a', 2), ('b', 0), ('b', 1), ('b', 2), ('c', 0), ('c', 1), ('c', 2)]
print([(i, j) for i in range(7) if i > 4 for j in range(20, 25) if j > 23])
print([(i, j) for i in range(7) for j in range(20, 25) if i > 4 and j > 23])

out:
[(5, 24), (6, 24)]
[(5, 24), (6, 24)]
newlist = [i**2 for i in range(11)]
print(newlist)

lst = [1, 4, 9, 16, 2, 5, 10, 15]

lst1 = [lst[i]+lst[i+1] for i in range(len(lst)-1)]
print(lst1)

# 9*9
mul = ['{0}*{1}={2:<3}'.format(j, i, i*j) for i in range(1, 10) for j in range(1, 10) if j <= i]
print(mul)

mul1 = ([['{}*{}={:<3}'.format(j, i, i*j) for j in range(1, i+1)] for i in range(1, 10)])
for i in mul1:
    print(i)


[print('{}*{}={:<3}{}'.format(j, i, i*j, '\n' if i == j else ' '), end='') for i in range(1, 10) for j in range(1, i+1)]
import random

[print('{:04}.{}'.format(i, ''.join(([random.choice(bytes(range(97, 123)).decode()) for _ in range(5)])))) for i in range(5)]

print('---------')

[print('{:04}.{}'.format(i, ''.join(([chr(random.randint(97, 123)) for _ in range(4)])))) for i in range(5)]



out:
0000.nmmff
0001.zvtbe
0002.jorxi
0003.hodrh
0004.owvrp
---------
0000.mwol
0001.bdgm
0002.gjlp
0003.nths
0004.eygr

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章