我的目标是创建一个单行以生成以下列表:
list_100 = ['ch1%.2d' % x for x in range(1,6)]
list_200 = ['ch2%.2d' % x for x in range(1,6)]
final_list = list_100 + list_200
[ch101,ch102,ch103,ch104,ch105, ch201,ch202,ch203,ch204,ch205]
有没有办法在一行中做到这一点:
final_list = ['ch%.1d%.2d' % (y for y in range(1,3), x for x in range(1,6)]
最佳答案
你们非常亲密:
>>> ['ch%.1d%.2d' % (y, x) for y in range(1,3) for x in range(1,6)]
['ch101',
'ch102',
'ch103',
'ch104',
'ch105',
'ch201',
'ch202',
'ch203',
'ch204',
'ch205']
关于具有多个循环的 Python 列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391300/