s = '51 5000 10000'
第一种:
li = []
for item in s.split():
li.append(int(item))
k,a,b = li
print(k,a,b)
列表生成式:
li=[int(item) for item in s.split()]
print(li)
print(k,a,b)
需求2:
生成一个列表,列表元素分别为[1**1,2**2,3**3,4**4...n*n]
第一种:
li = []
for i in range(1,8):
li.append(i**i)
print(li)
列表生成式:
li = [i**i for i in range(1,8)]
print(li)
[experssion for item in 序列 if 判断语句]
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):
for j in range(2,num):
if num%j==0 :
return 1
print([i for i in range(2, 1000) if not isPrime(i)])
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:
resLi.append(item2)
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])
找出/var/log目录中,所有以.log结尾的文件名或者目录名
import os
# print(os.listdir('/var/log')) ##/var/log/的文件名
print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])