当我在 Python 3 中使用 zip() 函数时,我是 'losing' 值
I am 'losing' values when I use the zip() function in Python 3
当我 运行 以下代码时,我似乎 'lose' 值,但我不确定为什么。还有其他方法可以打印出两个相邻的列表吗?
我想做的是根据用户输入在 long
中创建一个整数列表。然后应按升序将它们分为正值和负值。
原代码为:
import numpy as np
import random
print( "(This will create a list of integers, UserInput long. Then separate"
"\nthem into positive and negative values in ascending order.)")
userI = input("\nHow many integers would you like, between the values of -100 and 100?: ")
userI = int(userI)
Ints = []
for A in range(userI):
Ints.append(random.randint(-100, 100))
print('\n', len(Ints))
def quad(N):
Ints_pos = []
Ints_neg = []
for B in N:
if B >= 0:
Ints_pos.append(B)
else:
Ints_neg.append(B)
return (Ints_pos, Ints_neg)
pos, neg = quad(N = Ints)
pos = sorted(pos)
neg = sorted(neg, reverse=True)
print('\nPositive', ' Negative'
'\nValues:', ' Values:')
for C, D in zip(pos, neg):
print('-> ', C, ' -> ', D)
input("\nPress 'Enter' to exit")
请记住,在使用 zip
时:
The iterator stops when the shortest input iterable is exhausted.
您应该考虑使用 itertools.zip_longest
并提供一个虚拟值来填充较短的可迭代对象。
当我 运行 以下代码时,我似乎 'lose' 值,但我不确定为什么。还有其他方法可以打印出两个相邻的列表吗?
我想做的是根据用户输入在 long
中创建一个整数列表。然后应按升序将它们分为正值和负值。
原代码为:
import numpy as np
import random
print( "(This will create a list of integers, UserInput long. Then separate"
"\nthem into positive and negative values in ascending order.)")
userI = input("\nHow many integers would you like, between the values of -100 and 100?: ")
userI = int(userI)
Ints = []
for A in range(userI):
Ints.append(random.randint(-100, 100))
print('\n', len(Ints))
def quad(N):
Ints_pos = []
Ints_neg = []
for B in N:
if B >= 0:
Ints_pos.append(B)
else:
Ints_neg.append(B)
return (Ints_pos, Ints_neg)
pos, neg = quad(N = Ints)
pos = sorted(pos)
neg = sorted(neg, reverse=True)
print('\nPositive', ' Negative'
'\nValues:', ' Values:')
for C, D in zip(pos, neg):
print('-> ', C, ' -> ', D)
input("\nPress 'Enter' to exit")
请记住,在使用 zip
时:
The iterator stops when the shortest input iterable is exhausted.
您应该考虑使用 itertools.zip_longest
并提供一个虚拟值来填充较短的可迭代对象。