分享
三行代码  ›  专栏  ›  技术社区  ›  Sri991

python中多for循环和变量的列表理解

  •  1
  • Sri991  · 技术社区  · 1 周前

       a = ['x','y','z']
       result = []
       for i in a:
           for j in range(1,5):
               s = ''
               for k in range(j):
                   s = s + i
               result.append(s)
       result
    

    输出为-

       ['x', 'xx', 'xxx', 'xxxx', 'y', 'yy', 'yyy', 'yyyy', 'z', 'zz', 'zzz', 'zzzz']
    

    甚至可以为这段代码编写一个列表理解吗?如果是,你会怎么写?

    3 回复  |  直到 1 周前
        1
  •  9
  •   dspencer Roy2012    1 周前

    这里是:

    [ x * i for x in ['x','y','z'] for i in range(1,5)  ]
    

    结果:

    ['x', 'xx', 'xxx', 'xxxx', 'y', 'yy', 'yyy', 'yyyy', 'z', 'zz', 'zzz', 'zzzz']
    
        2
  •  2
  •   Ritika Gupta    1 周前
    a = ['x','y','z']
    result = []
    result+=[i*j for j in range(1,5) for i in a]
    result
    

    这样就行了

        3
  •  1
  •   Jeevan Chaitanya    1 周前

    可能!!!!

    a = ['x','y','z'] sorted([i*j for j in range(1,5) for i in a ]) ['x', 'xx', 'xxx', 'xxxx', 'y', 'yy', 'yyy', 'yyyy', 'z', 'zz', 'zzz', 'zzzz']