为了账号安全,请及时绑定邮箱和手机立即绑定

多重循环这题有2个写法都能实现,哪种比较好呢?

写法1:


for x in [1, 2, 3, 4, 5, 6, 7, 8, 9]:

    for y in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:

        if x < y:

            print x * 10 + y




写法2:

for x in range (1, 10):

    for y in range (1, 10):

        if x < y:

            print x * 10 + y


正在回答

2 回答

复制题主代码做一个完整的回答。。。

## 写法1:
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
    for y in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
        if x < y:
            print x * 10 + y

## 写法2:
for x in range (1, 10):
    for y in range (0, 10):
        if x < y:
            print x * 10 + y

## 解释, 在Python2.x 中,两种实现一样,后者写起来更快。
## 解释, 在Python3.x 中, 对range() 函数做了升格, range 不在返回一个列表了, 而是返回一个迭代器,
##        可以理解为,同样能迭代遍历,但是节省了很大的内存空间。

##总结, 所以不管是在Python 的那个版本中, 写法2 都是有优势的。


1 回复 有任何疑惑可以回复我~
#1

wimpixel 提问者

非常感谢!
2016-05-04 回复 有任何疑惑可以回复我~

for x in range (1, 9):

    for y in range (2, 10):

        if x < y:

            print x * 10 + y

这样写更合适一些 ,如果没有特殊性,大量的数字是不会全部手敲上去的。


1 回复 有任何疑惑可以回复我~
#1

wimpixel 提问者

感谢回复. 请问为什么 第一排是在 (1.9) 第二排是在 (2,10)?
2016-04-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758625    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

多重循环这题有2个写法都能实现,哪种比较好呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信