zip()
我们可以通过 zip()函数对多个序列进行并行迭代,zip()函数在最短序列"用完"时就会停止
name = ("卡卡西", "我爱罗", "波风水门")
age = (30, 24, 28)
jobs = ("6代火影", "4代风影", "4代火影")
for name, age, jobs in zip(name, age, jobs):
print("{0}--{1}--{2}".format(name, age, jobs)) # format为字符串的格式化的方法
卡卡西--30--6代火影
我爱罗--24--4代风影
波风水门--28--4代火影
如果对于zip()方法不太感冒可以使用以下的传统方法
name = ("卡卡西", "我爱罗", "波风水门")
age = (30, 24, 28)
jobs = ("6代火影", "4代风影", "4代火影")
for i in range(3):
print("{0}--{1}--{2}".format(name[i], age[i], jobs[i]))
卡卡西--30--6代火影
我爱罗--24--4代风影
波风水门--28--4代火影
推导式
列表推导式
# 推导式
# 列表推导式
# [表达式 for item in 可迭代对象 ]
list_one = [n for n in range(1, 5)]
print(list_one)
list_two = [j*3 for j in range(1, 5)]
print(list_two)
# 普通方法
list = []
for w in range(1,5):
list.append(w)
print(list)
# [表达式 for item in 可迭代对象 if 条件判断]
list_three = [m*3 for m in range(1, 99) if(m % 8 == 0)]
print(list_three)
# 遍历字符串
list_four = [i for i in 'i love you']
print(list_four)
# 两个循环
cells = [(row, col) for row in range(1, 3) for col in range(1, 3)]
print(cells)
# 普通写法
list00 = []
list01 = []
list03 = []
for m in range(1, 3):
for n in range(1, 3):
list03.append((m, n))
print(list03)
字典推导式
# 推导式
# 字典推导式
# 字典的推导式生成字典对象,格式如下: {key_expression : value_expression for 表达式 in 可迭代对象}
# 统计文本中字符出现的次数:
text = 'my name is content'
char_count = {c: text.count(c) for c in text}
print(char_count)
# 普通方法
# 列表方法
# 1.目标字符串转为列表
value = 'my name is content'
list = list(value)
# 2.用一个列表记录总共多少种字符
new_list = []
for i in list:
new_list.append(i)
# 3.用一个字典记录结果,遍历列表,求count()
dictionary = {}
for i in new_list:
dictionary[i] = list.count(i)
print(dictionary)
# 字典方法
def strcount( a ):
# 定义一个空字典
b = {}
# 求出字符串的长度
c = len(a)
i = 0
while i < c:
if a[i] in b:
b[a[i]] += 1
else:
b[a[i]] = 1
i += 1
# 遍历字典
for item in b.items():
print(item)
if __name__ == '__main__':
a ="my name is content"
strcount(a)
集合推导式
# 集合推导式生成集合,和列表推导式的语法格式类似:
# {表达式 for item in 可迭代对象}
aggregate_one = {x for x in range(1, 5)}
print(aggregate_one)
# {表达式 for item in 可迭代对象 if 条件判断}
aggregate_two = {y*3 for y in range(1, 100) if(y % 8 == 0)}
print(aggregate_two)
生成器推导式(生成元组)
generator_one = (x for x in range(1, 4))
print(generator_one)
print(tuple(generator_one))
print(tuple(generator_one))
# <generator object <genexpr> at 0x0000024E696AD660>
# (1, 2, 3)
# ()
generator_two = (y for y in range(1,4))
for y in generator_two:
print(y, end=',')
print(tuple(generator_two))
# 1,2,3,()