我有三个清单,即:
commands = ["ping", "exec", "someCmd"]
parameters = ["127.0.0.1", "mspaint", "someParam"]
iterations = ["2", "1", "3"]
你可以想象,每个项目索引对应于每个列表中的相同索引,所以我想要一个列表列表,其中每个元素对应于每个程序,即:
[['ping', '127.0.0.1', '2'], ['exec', 'mspaint', '1'], ['someCmd', 'someParam', '3']]
嗯,对于像我这样的初学者来说,使用for循环很容易:
new_list = []
for c, _ in enumerate(commands):
row = [commands[c], parameters[c], iterations[c]]
new_list.append(row)
或者我想出的第一个(我不知道它是好还是坏)
new_list = []
for c, command in enumerate(commands):
row = [command, parameters[c], iterations[c]]
new_list.append(row)
但是我不想放弃并试图通过列表理解来实现同样的目标,这显然很糟糕,这就是为什么我在这里
my_attempt = [[c, p, i] for c, p, i in commands, parameters, iterations]
但令人惊讶的是(对我来说)只列出了一个列表,但每个元素都像输入一样,即:
[['ping', 'exec', 'asd'], ['127.0.0.1', 'paint', 'param'], ['2', '1', '3']]
你能帮我解决这个问题,还是建议我采用其他方法?
答案 0 :(得分:0)
zip(commands, parameters, iterations)
答案 1 :(得分:0)
您需要的是zip()
函数
zip(commands,parameters,iterations)
将为您提供所需的结果