★{2:<2}占位与左右对齐
{2:2}占两位,默认右对齐
{2:<2}占两位,左对齐
{2:-2}占两位,右对齐
i = 1;j = 2
print("{0} * {1} = {2:2}",format(i,j,i*j))
print("{0} * {1} = {2:<2}",format(i,j,i*j))
print("{0} * {1} = {2:-2}",format(i,j,i*j))
输出
★enumerate()
格式:enumerate(迭代对象[,下标])
下标默认从0开始
需要注意的是,当enumerate用在for里迭代时
例如:
seasons = [‘spring’,‘summer’,‘autumn’,‘winter’]
for i,s in enumrate(seasons,start = 1)
i对应的是下标,与start对应,s与seasons[i]对应
也可以完全用for代替,
改成:for i in range(4):print(seasons[i])
★zip打包
打包完后在for循环里过程
例如书上的例子
想要输出zip里的内容记得用list
list(zip(x,y))
even = [0,2,4,6,8]
odds = [1,3,5,7,9]
zip(even,odds)
for e,o in zip(even,odds): #每次循环迭代e,o对应(0,1),(2,3).......这样
print("{0} * {1} = {2}".format(e,o,e*o))
★map()
将元素放在函数中迭代
放书上的例子
zip,map,enumerate的总结:
enumerate
使用情况:用下标访问元素
感觉完全可以用for代替,觉得没啥用好像
zip
使用情况:同时迭代多个对象
也可以用for的感觉。。。
map
使用情况:多个元素访问一个函数
那直接调用不就好了。。。感觉用的也不会很多。。。
访问的时候记得要list(map/zip/enumerate())
单纯的map/zip/enumerate()只是类型
★九九乘法表的五种输出
#矩形块
for i in range(1,10):
for j in range(1,10):
print("{0}*{1}={2:<2}".format(i,j,i*j),end =" ")
print()
print()
#左上三角
for i in range(1,10):
for j in range(i,10):
print("{0}*{1}={2:<2}".format(i,j,i*j),end = " ")
print()
print()
#右下三角
for i in range(1,10):
for k in range(1,i):
print(end =" ")
for j in range(i,10):
print("{0}*{1}={2:<2}".format(i,j,i*j),end = " ")
print()
print()
#右上三角
for i in range(1,10):
for k in range(i,9):#这里注意不是10是9
print(end =" ")
for j in range(i,0,-1):
print("{0}*{1}={2:<2}".format(j,i,i*j),end = " ")
print()
运行结果
★保留小数输出
保留两位小数{:.2f}
没啦,就这些吧,啃鸡翅膀去