Если списки имеют одинаковый размер, вы можете объединить их в списки из 4-х кортежей с помощью zip()
. Например:
# Four lists of four elements each.
l1 = range(0, 4)
l2 = range(4, 8)
l3 = range(8, 12)
l4 = range(12, 16)
for i1, i2, i3, i4 in zip(l1, l2, l3, l4):
...
Вот что производит функция zip()
:
>>> print l1
[0, 1, 2, 3]
>>> print l2
[4, 5, 6, 7]
>>> print l3
[8, 9, 10, 11]
>>> print l4
[12, 13, 14, 15]
>>> print zip(l1, l2, l3, l4)
[(0, 4, 8, 12), (1, 5, 9, 13), (2, 6, 10, 14), (3, 7, 11, 15)]
Если списки большие, и вы не хотите объединять их в больший список, используйте itertools.izip()
, который производит итератор, а не список.
from itertools import izip
for i1, i2, i3, i4 in izip(l1, l2, l3, l4):
...
Нет, IEEE 754 число с плавающей запятой двойной точности всегда 64 бита. Точно так же float
одинарной точности всегда 32 бита.
Если ваш вопрос касается конкретно C # и / или .NET (как указывает ваш тег), все размеры типов данных фиксированы, независимо от архитектуры вашей системы. Это то же самое, что и Java, но отличается от C и C ++, где размеры типов действительно различаются от платформы к платформе.
Целочисленные типы обычно имеют разные размеры на разных архитектурах C и C ++. Например, int
имел ширину 16 бит в 16-битной DOS и 32 бита в Win32. Тем не мение,
Это не меняется.
Простой способ проверить это - написать простое консольное приложение с
Console.WriteLine(Double.MaxValue);
и скомпилировать его как для x86, так и для x64.