python学习笔记---列表生成式

迭代
# 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
    True
    False
    True
    <list_reverseiterator object at 0x00A03BD0>
    4
    3
    2
    1

列表生成式

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之间所有的质数;
def isPrime(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 os

print([filename for filename in os.listdir('/var/log') if filename.endswith('.log')])


# 2. 将列表中所有内容都变为小写;

li = ['frdgrfgdsHHJJ', 'cdsfregHHHJDGF']

print([i.lower() for i in li])


猜你喜欢

转载自blog.csdn.net/qq_41891803/article/details/81515557