列表按指定个数分割后格式化输出

  1. #coding:utf-8
  2. a = ‘‘‘update ph_daily t set t.{0} =
  3. decode((to_number(to_char(sysdate-2,‘DD‘))*t.{1}),0,0,t.{2}/(to_number(to_char(sysdate-2,‘DD‘))*t.{1})); ‘‘‘
  4. b = (‘N5S_M_TARGET‘,‘N5S_M‘,‘N5S_M_RATE‘,‘A750E_TARGET‘,‘A750E_M‘,‘A750E_M_RATE‘,‘C8815_TARGET‘,‘C8815_M‘,‘C8815_M_RATE‘,‘EG958_TARGET‘,‘EG958_M‘,‘EG958_M_RATE‘,‘COOLPAD5891_TARGET‘,‘COOLPAD5891_M‘,‘COOLPAD5891_M_RATE‘,‘N900_TARGET‘,‘N900_M‘,‘N900_M_RATE‘,‘I619_TARGET‘,‘I619_M‘,‘I619_M_RATE‘)
  5. c = [b[m:m+3] for m in range(20) if m%3 == 0] #或者 c = zip(*(iter(b),)*3) 按3个一组分割
  6. for x, y, z in c:
  7. print a.format(z, x, y)

--------------------------------------------------------------------------------------------------------

假设有一个list =  range(100), 我要把它等分成每10个一组,如何写代码呢?

aa = range(100)

bb = func(aa)

print bb

[[0:9],[10:19],[20:29],.....]

解法1:

[a[m:m+10] for m in range(100) if m%10==0]

解法2:

zip(*(iter(L),)*10)

首先,这是一个基础语法,iter(L),某个列表的枚举函数。

按照zip的语法,其实it=iter(L);zip(it,it..重复10次..),就可以达到目标。原因是zip会从头一个函数获得头一组的第一个对象,第二个函数获得头一组的第二个对象。而这正好是第二个元素。

那么zip(*(iter(L),)*10)呢?

首先,加个括号zip(*((iter(L),)*10))。

((iter(L),)*10)是一个语法糖,将某个tuply的内容重复10次。

而后,通过zip(*arg)的语法,这10次的iter(L)就被作为参数传入了zip。

来自为知笔记(Wiz)

时间: 2024-11-06 03:47:33

列表按指定个数分割后格式化输出的相关文章

Delphi 获取系统时间后格式化输出

问题:客户现场程序运行提示时间格式不对导致的错误,原因是与开发环境及公司内部测试环境的日期格式不一致: 解决:统一强制转换: //引用单元:SysUtils //目的:实现跨环境兼容不同日期格式,如果不做强制格式处理,不同环境存在发生问题的可能性: function GetSysTimeByFormate: string; var dtFormate: TFormatSettings; begin try dtFormate.ShortDateFormat := 'yyyy/MM/dd'; dt

计算每行所占字符个数,并格式化输出

import scala.io.Source def widthOfLength(s: String) = s.length.toString.length//计算字符串长度的位数,比如长度为:136,则位数为:3(三位数) if (args.length > 0) { val lines = Source.fromFile(args(0)).getLines.toList val longestLine = lines.reduceLeft( (a, b) => if (a.length &

Python自动化运维之7、格式化输出、生成器、迭代器、列表解析、迭代器表达式

Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] (1)百分号格式化 %[(name)][flags][width][.precision]typecode .... (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐:正数前加正好,负数前加负号: - 左对齐:正数前无符号,负数前加负号: 空

python3 格式化输出,字符串操作,模块,列表,元组

初识python,在网上看了老男孩的视频,建立一个博客将自己所学的python知识记录下来. input加密,用于输入密码的阶段. 1 import getpass 2 user = input("username:") 3 passwd = getpass.getpass("password:") 格式化输出 1 name = input("name:") 2 age = int (input("age:")) 3 job

Python自动化--语言基础2--运算符、格式化输出、条件语句、循环语句、列表、元组

运算符包括:算术运算符.比较运算符.赋值运算符.逻辑运算符.成员运算符.身份运算符 算术运算符 %   取模(余数) //  取相除的整数部分 /   (5/2=2.5) 比较运算符 ==  等于 !=  不等于 <   小于 >   大于 <=  小于等于 >=  大于等于 1 if a==b: 2 print(1) 3 else: 4 print(2) 赋值运算符 a+=b   等于 a=a+b a-=b          a=a-b a*=b          a=a*b a

python字符串(移除空白,长度,索引,分割,切片,拼接,格式化输出)

常用功能: 移除空白: >>> name = "meng" >>> name 'meng' >>> name.strip() 'meng' 以上并没有看出什么不同,继续往下看: >>> name = " meng \n" >>> name ' meng \n' >>> print(name) meng 在给name赋值时我加了很多空格和一个换行符,移除空白:

Python笔记---DAY3:格式化输出、for循环、列表操作

1.引号使用: 多行变量用三引号 python单双引号相同,当命令内容中有引号时注意最外层引号的使用 2.格式化输出: name=input("name:") age=int(input("age:")) job=input("job:") salary=input("salary:") number=input("number:") if salary.isdigit(): 判断输入是否为数字,其中.的作

python中将指定的字符串转换为大写字母并每隔2个字符用空格分割后得到一个新字符串的方法

在例子中对指定的字符串: faa5fbb5fcc5fdd5010200000028000001900000000a002d00000000017d7840000003e800005fa55fb55fc55fd5 使用了三种方法将其转换为大写字母并每隔2个字符用空格分割处理后得到一个新字符串,为: FA A5 FB B5 FC C5 FD D5 01 02 00 00 00 28 00 00 01 90 00 00 00 0A 00 2D 00 00 00 00 01 7D 78 40 00 00

整数 浮点数 列表 字典 布尔值 格式化输出 输出

整数 print(21+34) 浮点数 print(2.2+2.6)print(8.4-4.2)列表 place_name = ["shen zhen", "shang hai","shan xi", ["xi an","wei nan","yan an"]]print(place_name[3][1])#结果print(wei nan) 输出 name=input("你的名字