有没有办法一起打印2个列表,我可以为
做一个template <unsigned long long N>
struct RequiredBits {
enum : int { value = 1 + RequiredBits<(N >> 1)>::value };
};
template <>
struct RequiredBits<1> {
enum : int { value = 1 };
};
template <>
struct RequiredBits<0> {
enum : int { value = 1 };
};
const int REQUIRED_BITS_42 = RequiredBits<42>::value; // 6
导致:83,25,90等。我有第二个名为'cc'的列表。两个列表按正确的顺序具有相同数量的项目。我正打算将它们打印为
for g in grades:
print(g)
等等列表中的所有项目。
我已经尝试了
print(cc[0])
print(g[0])
按预期打印的次数比每次打印的次数多一次。有没有办法正确地做到这一点?我想我写的很清楚。
答案 0 :(得分:2)
由于两个列表的长度相同,因此您可以使用zip
。
zip
在每个序列中创建连续项的元组。 g, x
&#34;解包&#34;
这个元组;这会将相应的值分配给g
和x
。
for x, g in zip(cc, grades):
print(x, g, end='\n')
答案 1 :(得分:0)
您可以使用索引功能:
list1 = ['a','b','c']
list2 = [0,1,2]
for i in list1:
print(i)
print(list2[list1.index(i)])
更新(感谢@ juanpa.arrivillaga):
但这是一个糟糕的解决方案,因为它具有二次时间算法。最好使用枚举:
for index, item in enumerate(list1):
print(item)
print(list2[index])