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...