# iterable: 可迭代的; 可以for循环;
s = 'hello'for i in s:
print(i)
from collections import Iterable
print(isinstance(1, int))
print(isinstance(1,Iterable))
print(isinstance({1,2,3},Iterable))
a = reversed([1,2,3,4])
print(a)
for i in a :
print(i)
h
e
l
l
o
TrueFalseTrue
<list_reverseiterator object at 0x00A03BD0>
4321
列表生成式
import random
li = []
for i in range(10):
li.append(random.randint(1,10))
# 普通的列表生成式;
print([random.randint(1,10) for i in range(10)])
print([i*i for i in range(1,8)])
# 升级版本# 1. 找出1~10之间所有的偶数;
print([i for i in range(1,11) if i%2==0])
# 2. 找出1~1000之间所有的质数;defisPrime(num):pass
print([i for i in range(1,1001) if isPrime(i)])
# 3.for嵌套for循环;# 'ABC', '123'
print([i+j for i in'ABC'for j in'123'])
[6, 6, 7, 10, 8, 9, 1, 4, 9, 8]
[1, 4, 9, 16, 25, 36, 49]
[2, 4, 6, 8, 10]
[]
['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
列表生成式
# 找出/var/log/目录中,所有以.log结尾的文件名或者目录名;
# os.listdir('/var/log/')
import osprint([filename for filename inos.listdir('/var/log') if filename.endswith('.log')])
# 2. 将列表中所有内容都变为小写;
li = ['frdgrfgdsHHJJ', 'cdsfregHHHJDGF']
print([i.lower() for i in li])