【发布时间】:2016-09-08 20:41:48
【问题描述】:
我有以下代码,它根据 len(list1) 为 list1 中的每个项目分配一个数字:
list1 = ["a", "b", "c", "d"]
result = []
for i in xrange(0, len(list1)):
result += (str(i+1), list1[i], )
new_result = list(izip(*[iter(result)]*2))
结果将打印如下:
[("1", "a"), ("2", "b"), ("3", "c"), ("4", "d")]
如果我有多个列表:list2、list3、list4
如何将它应用到此代码中?..
【问题讨论】:
-
多个列表的理想结果是什么?
-
你根本不需要循环:
result = [(str(i), x) for i, x in enumerate(list1, 1)]。根据需要将list1替换为list2等。 -
@chepner 它对我来说工作得很好,但是如果我采用你的方法并且我为我拥有的 6 个列表编写了该行,它是否认为重复的代码可以用相同的方法缩短和简化但使用循环,只是要求提高我的代码技能。
-
无论您做什么,您都可以将
list1或list2或其他任何东西作为参数包装在一个函数中。对函数本身的调用可以在遍历列表的循环体中。 -
@chepner 感谢您的帮助,您上面的回答让我明白了很多,下面回答中的 for 循环也完成了任务..
标签: python list tuples itertools