hgs731 发表于 2020-7-26 13:37:15

我这个理解是否正确,麻烦各位好朋友回答

list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]

list1等于xy这两个东西,先循环x十次生成一个整数列表,再循环y十次,并生成一个整数列表,如果x除于2能够被整除每一个循环产生一个x,如果Y除于2不能被整除每一个循环产生一个y。

是否有遗漏或者理解偏差{:5_96:}

Twilight6 发表于 2020-7-26 13:38:52

本帖最后由 Twilight6 于 2020-7-26 13:42 编辑


先循环x十次生成一个整数列表,再循环y十次

这里错了哈,应该是每循环 x 一次,都会循环 y 10次

如果 x 除于 2 能够被整除且此时 Y 除于 2 不能被整除就循环

就将此时的 x、y 构成一个 元组,添加入列表中去

你这里的代码:list1 = [(x, y) for x in range(10) for y in range(10) if x%2==0 if y%2!=0]

展开就是这样的,应该会更好理解些吧:list1 = []
for x in range(10):
    for y in range(10):

      if x % 2 == 0 and y % 2 != 0:
            list1.append((x,y))

hgs731 发表于 2020-7-26 13:45:32

Twilight6 发表于 2020-7-26 13:38
这里错了哈,应该是每循环 x 一次,都会循环 y 10次

如果 x 除于 2 能够被整除且此时 Y 除于 2 不 ...

非常感谢,果然问一问是最好的,自以为对很容易出问题
页: [1]
查看完整版本: 我这个理解是否正确,麻烦各位好朋友回答