设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 16228|回复: 1
打印 上一主题 下一主题

如何格式化输出列表中元素?

[复制链接]

2

主题

0

好友

16

积分

新手上路

Rank: 1

跳转到指定楼层
楼主
发表于 2017-5-7 11:36:19 |只看该作者 |倒序浏览
九宫格的一日一坑,我用了很蠢的遍历的方法做了...
import itertools
def jiugongge():
l1=list(range(1,10))
l2=list(itertools.permutations(l1,9))
for i in l2:
  if i[0]+i[3]+i[6]==i[1]+i[4]+i[7]==i[2]+i[5]+i[8]==i[0]+i[1]+i[2]==i[3]+i[4]+i[5]==i[6]+i[7]+i[8]==i[0]+i[4]+i[8]==15:
   print('%s %s %s '%(i[0:3]))
   print('%s %s %s '%(i[3:6]))
   print('%s %s %s '%(i[6:9]))
   print('THE END')
jiugongge()

结果没问题,摘其中一个如下
8 4 3
6 2 7
1 9 5
THE END
print代码输出的是经切片后的列表中的元素,但是我又写了段试试格式化输出,发现报错TypeError: not enough arguments for format string,代码如下
l=[1,2,3,4,5,6,7]
print('%s%s%s'%l[0:3])
改成print('%sl[0:3])代码正常运行,但输出是一个列表[1, 2, 3],而不是列表中的元素
自己都搞蒙了。。。为什么这两段代码一个是输出列表一个是列表中元素?

回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2017-5-7 14:44:47 |只看该作者
格式化后面给的参数要么是一个值,要么是多个值组成的元组。
直接给一个列表,就只会当做一个列表来处理,%s只是强行把这个列表转成str
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-11-23 08:01 , Processed in 0.014698 second(s), 24 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部