s = '51 5000 10000'
li =
for item in s.split():
k,a,b = li
print(k,a,b)
li=[int(item) for item in s.split()]
print(li)
print(k,a,b)
li =
for i in range(1,8):
print(li)
li = [i**i for i in range(1,8)]
print(li)
[experssion for item in 序列 if 判斷語句]
舉例:找出1-8中的偶數再平方
li = [i ** 2 for i in range(1, 8) if i % 2 == 0]
print(li)
找出1~10之間的所有的偶數
print([i for i in range(1, 11) if i % 2 == 0])
找出1~1000之間的所有質數
def isprime(num):
pass
print([i for i in range(1, 1000) if isprime(i)])
s1='abc' s2='123'(for巢狀迴圈)
s1 = 『abc』
s2 = 『123』
將兩個合併,輸出為 『a1』, 『a2』, 『a3』, 『b1』, 『b2』, 『b3』, 『c1』, 『c2』, 'c3』
print([i + j for i in 'abc' for j in '123'])
注意:列表生成式中前後都可寫成函式形式。例:方法一:
[i**2 for i in range(2,10,2)]
方法二:
def fun(i):
a = i ** 2
[fun(i) for i in range(2,10,2)]
需求:講3x3的矩陣轉換成一堆陣列
[[1,2,3],
[4,5,6],
[7,8,9]
][1,2,3,4,5,6,7,8,9]
方法一:li = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]resli =
for item1 in li: # [1,2,3] [4,5,6] [7,8,9]
for item2 in item1:
if item2 % 2 == 0:
print(resli)
方法二:
print([item2 for item1 in li for item2 in item1])
from itertools import chain
print(list(chain(*li)))
li = ['dasdafsdfsfdsf','daddsadsasdadassadas']
print([i.lower() for i in li])
import os
#print(os.listdir('/var/log'))
print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])
import math
方法一:
li =
for r in range(2, 11, 2):
square = math.pi * r * r
print(li)
方法二:
print([math.pi * r * r for r in range(2, 11, 2)])
方法三:
def square(r):
"""求以r為半徑的圓"""
res = math.pi *r*r
return res
print([square(r) for r in range(2,11,2)])
思路:
判斷num是否為質數,如果是質數,返回true,否則返回false
什麼是質數?
只能被1和本身整除的數,就是質數
方法:依次判斷num能被(2,num)整除
如果能被其中其中乙個數整除,不是質數
當迴圈結束,都沒有發現能被整除的數,那麼就是質數
def isprime(num):
for i in range(2,num):
if num % i == 0:
return false
else:
return true
print([i for i in range(2,101) if isprime(i)])
def isprime(num):
for i in range(2,num):
if num % i == 0:
return false
else:
return true
a = int(input('請輸入乙個正整數num,且3<=num<=1000:'))
列表生成式
列表生成式 1生成列表 要生成list 1,2,3,4,5,6,7,8,9,10 我們可以用 range 1,11 range 1,11 1,2,3,4,5,6,7,8,9,10 但如果要生成 1x1,2x2,3x3,10x10 怎麼做?方法一是迴圈 l for x in range 1,11 l ...
列表生成式
列表生成式即list comprehensions,是python內建的非常簡單卻強大的可以用來建立list的生成式。舉個例子,要生成list 1,2,3,4,5,6,7,8,9,10 可以用list range 1,11 list range 1,11 1,2,3,4,5,6,7,8,9,10 但...
列表生成式
列表生成式,是 python 內建的一種極其強大的生成list的表示式。如果要生成乙個列表,可以用range 1,10 range 1,4 1,2,3 生成 1 1 2 2 3 3 10 10 怎麼做呢?可以使用迴圈 l for x in range 1,10 l 1,4,9,16,25,36,49...