【发布时间】:2017-03-28 08:07:06
【问题描述】:
你能帮我缩短这个涉及列表推导的 Python 代码吗?在我当前的代码中,变量e_col 没有被使用。我还不知道如何利用这个e_col 变量。代码如下:
e_rows = (10,34)
e_col = (4,6,8,10,13,15,17,19)
inst = 'A'
test_list = [inst+'_r'+str(e_rows[0])+'c'+str(i) for i in range(4,12,2)]
test_list.extend([inst+'_r'+str(e_rows[0])+'c'+str(i) for i in range(13,21,2)])
test_list.extend([inst+'_r'+str(e_rows[1])+'c'+str(i) for i in range(4,12,2)])
test_list.extend([inst+'_r'+str(e_rows[1])+'c'+str(i) for i in range(13,21,2)])
print(test_list)
当我运行这段代码时,它返回:
['A_r10c4', 'A_r10c6', 'A_r10c8', 'A_r10c10', 'A_r10c13', 'A_r10c15', 'A_r10c17', 'A_r10c19', 'A_r34c4', 'A_r34c6', 'A_r34c8', 'A_r34c10', 'A_r34c13', 'A_r34c15', 'A_r34c17', 'A_r34c19']
我也查看了itertools.product,但我不明白它是如何工作的。
【问题讨论】:
-
你能描述一下这里实际发生了什么吗?这样做的目的是什么?
-
我得到了我想要的结果列表,就像我在上面的描述中显示的那样。我想缩短代码并利用
e_col元组
标签: python list python-3.x list-comprehension