python3 之死扣迭代和列表生成式

2021-10-07 06:49:18 字數 1533 閱讀 7030

python3-之迭代和列表生成式

本文章是講解列表迭代和列表生成式的

# -*- coding: utf-8 -*-

import collections.abc

__author__ = '京哥'

'''迭代:也稱為遍歷,是迴圈獲取每乙個元素的值

''''''

迭代:也稱為遍歷,迴圈獲取每乙個元素

'''for i in ['tom', 'jack', 'alice']:

print(i, end=' ')

print()

for i in ('tom', 'jack', 'alice'):

print(i, end=' ')

print()

for i in .keys():

print(i, end=' ')

print()

for k, v in .items():

print(k, v)

for i in 'hello':

print(i)

# 判斷物件是否是可迭代的

print(isinstance('hello', collections.abc.iterable))

# 獲取索引和值

# 方式1:自己獲取索引

names = ['tom', 'jack', 'alice']

for i in range(len(names)):

print(i, names[i])

# 方式2:使用enumerate()函式,轉換為索引-元素對

print(enumerate(names))

print(isinstance(enumerate(names), collections.abc.iterable))

for k, v in enumerate(names):

print(k, v)

print('-' * 80)

'''列表生成式:用來建立list的生成式

'''# 生成[0,99]的list

# nums = range(0, 100)

nums = list(range(0, 100)) # 轉換為list

# print(nums, type(nums))

# print(isinstance(range(0, 100), collections.abc.iterable))

# for i in range(0, 100):

# print(i)

# 生成乙個包含[1,100]之間所有3的倍數的list

# 方式1

# lst =

# for i in range(1, 101):#此處是生成的可迭代的range型別

# if i % 3 == 0:

# 方式2

lst = [i for i in range(1, 101) if i % 3 == 0] # 等價於a = list(range(1, 101))

print(lst)

python3 迭代器 python3 迭代器

auther aaron fan 可以直接作用於for迴圈的物件統稱為可迭代物件 iterable 可以使用isinstance 判斷乙個物件是否是iterable物件 from collections import iterable isinstance iterable true isinsta...

Python3 可迭代 和 迭代器

可迭代iterable 可用for迴圈的資料型別 1.集合資料型別,如list,tuple,dict,set,str等 2.generator,包括生成器和帶yield的generator function 生成器不但可以作用於for迴圈,還可以被next 函式不斷呼叫並返回下乙個值,直到最後丟擲s...

python3菜鳥 Python3 迭代器與生成器

如教程所說,迭代器和生成器算是 python 一大特色,其核心是基於迭代器協議來的。而平時我們經常使用的 for in 迴圈體,本質就是迭代器協議的一大應用。同時 python 內建的集合型別 字元 列表 元組 字典 都已經實現了迭代器協議,所以才能使用 for in 語句進行迭代遍歷。for in...