day6 列表的生成(实现矩阵转置)

# 实现矩阵转置的两种方式
#   1). 列表生成式
#   2). 内置函数zip

li = [
    [1,2,3,3,4],
    [4,5,6,2,1],
    [7,8,9,1,2]
]
# 方法1:
print([[ row[columnIndex] for row in li] for columnIndex in range(5)])
# columnIndex=0=====> 返回的是每一行的第0个索引值; [1,4,7]
# columnIndex=1=====> 返回的是每一行的第0个索引值; [2,5,8]

# 方法2:
#     *li: 解包
#     zip:
#           1).打包函数, 用于将可迭代的对象作为参数,
#           将对象中对应的元素打包成一个个元组,
#           然后返回由这些元组组成的列表。
#           2).如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,
#           利用 * 号操作符,可以将元组解压为列表
#           3). zip 方法在 Python 2 和 Python 3 中的不同:
#           在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。
#           如需展示列表,需手动 list() 转换。
# print(list(zip(*li)))这里写代码片
```s = {1,2,3,4,5,6,7}




<div class="se-preview-section-delimiter"></div>

# 集合生成式
print({i**2 for i in s })




<div class="se-preview-section-delimiter"></div>

# 字典生成式
print({i:i**2 for i in s })





<div class="se-preview-section-delimiter"></div>

# 1). 判断2~num之间有多少个质数?
def isPrime(num):
    for i in range(2, num):
        if num % i == 0:
            return  False
    else:
        return True




<div class="se-preview-section-delimiter"></div>

# primeLi =  [i for i in range(1,1000) if isPrime(i)]




<div class="se-preview-section-delimiter"></div>

# print(primeLi)





<div class="se-preview-section-delimiter"></div>

# 生成器最快实现的方式:通过列表生成式改写. 一边循环, 一边计算的机制.
primeLi =  (i for i in range(2,1000) if isPrime(





<div class="se-preview-section-delimiter"></div>

print(next(primeLi))

print(next(primeLi))

print(next(primeLi))

print(next(primeL这里写代码片

from collections import Iterable
for i in primeLi:这里写代码片
print(i)这里写代码片
“`

print(isinstance(primeLi,Iterable)) # 判断是否可以for循环这里写代码片

字典

print({i:i**2 for i in s })

生成器最快实现的方式:通过列表生成式改写. 一边循环, 一边计算的机制.

“`
primeLi = (i for i in range(2,1000) if isPrime(

print(next(primeLi))
print(next(primeLi))
print(next(primeLi))
print(next(primeL这里写代码片
from collections import Iterable
for i in primeLi:
print(i)

``
print(isinstance(primeLi,Iterable)) # 判断是否可以for循环
这里写代码片`
‘‘‘

猜你喜欢

转载自blog.csdn.net/zhangyubo114285/article/details/81807836