Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从一个列表返回两个单独的列表?_Python - Fatal编程技术网

Python 如何从一个列表返回两个单独的列表?

Python 如何从一个列表返回两个单独的列表?,python,Python,如果您在此处有此列表: [25, 8, 22, 9] 我如何让程序创建两个单独的列表,并同时打印它们?一个应该包含所有小于20的数字,另一个需要包含所有大于20的数字。最终打印结果应如下所示:[8,9],[25,22] a = [25, 8, 22, 9] print [x for x in a if x > 20] print [x for x in a if x < 20] 这意味着:为该cond(x)为True的x的每个元素生成一个包含f(x)的列表 在我们的例子中,

如果您在此处有此列表:

[25, 8, 22, 9] 
我如何让程序创建两个单独的列表,并同时打印它们?一个应该包含所有小于20的数字,另一个需要包含所有大于20的数字。最终打印结果应如下所示:
[8,9]
[25,22]

a =  [25, 8, 22, 9] 
print [x for x in a if x > 20]
print [x for x in a if x < 20]
这意味着:为该
cond(x)
True
x
的每个元素生成一个包含
f(x)
的列表

在我们的例子中,
f(x)
只是
x
。而
cond(x)
x>20
x<20
(请注意,如果列表中有20个,它们将从结果中消失)

如果是家庭作业,你可以用更低级的方式解决任务:

a = [25, 8, 22, 9]
list1 = []
list2 = []
for elem in a:
  if elem > 20:
     list1.append(elem)
  if elem < 20:
     list2.append(elem)
print list1
print list2
a=[25,8,22,9]
列表1=[]
列表2=[]
对于a中的元素:
如果元素>20:
列表1.追加(元素)
如果元素<20:
列表2.追加(元素)
打印列表1
打印列表2
在这里,您将遍历列表并检查其元素。 将大于20的元素附加到一个列表中;这比另一个小20倍

这意味着:为该
cond(x)
True
x
的每个元素生成一个包含
f(x)
的列表

在我们的例子中,
f(x)
只是
x
。而
cond(x)
x>20
x<20
(请注意,如果列表中有20个,它们将从结果中消失)

如果是家庭作业,你可以用更低级的方式解决任务:

a = [25, 8, 22, 9]
list1 = []
list2 = []
for elem in a:
  if elem > 20:
     list1.append(elem)
  if elem < 20:
     list2.append(elem)
print list1
print list2
a=[25,8,22,9]
列表1=[]
列表2=[]
对于a中的元素:
如果元素>20:
列表1.追加(元素)
如果元素<20:
列表2.追加(元素)
打印列表1
打印列表2
在这里,您将遍历列表并检查其元素。
将大于20的元素附加到一个列表中;这比另一个小。

注意:假设您想要列表2中的20

listOne = [x for x in yourList if x < 20]
listTwo = [x for x in yourList if x >= 20]

print listOne
print listTwo
listOne=[x代表列表中的x,如果x<20]
listTwo=[x>=20时列表中的x代表x]
打印列表
打印列表二
虽然您应该使用for循环,但如果您从python开始,您可能会对for循环方法感兴趣

listOne = []
listOne = []

for x in yourList:
    if x < 20:
        listOne.append(x)
    else:
        listTwo.append(x)
listOne=[]
listOne=[]
对于列表中的x:
如果x<20:
追加(x)
其他:
listwo.append(x)

注意:假设您想要列表2中的二十个

listOne = [x for x in yourList if x < 20]
listTwo = [x for x in yourList if x >= 20]

print listOne
print listTwo
listOne=[x代表列表中的x,如果x<20]
listTwo=[x>=20时列表中的x代表x]
打印列表
打印列表二
虽然您应该使用for循环,但如果您从python开始,您可能会对for循环方法感兴趣

listOne = []
listOne = []

for x in yourList:
    if x < 20:
        listOne.append(x)
    else:
        listTwo.append(x)
listOne=[]
listOne=[]
对于列表中的x:
如果x<20:
追加(x)
其他:
listwo.append(x)
使用:

>L=[25,8,22,9]
>>>[x表示L中的x,如果x<20]
[8, 9]
>>>[x为L中的x,如果x>20]
[25, 22]
使用:

>L=[25,8,22,9]
>>>[x表示L中的x,如果x<20]
[8, 9]
>>>[x为L中的x,如果x>20]
[25, 22]
>>谓词=lambda x:x20
>>>为谓词中的pred打印[filter(pred[25,8,22,9])]
[[8, 9], [25, 22]]
>>谓词=lambda x:x20
>>>为谓词中的pred打印[filter(pred[25,8,22,9])]
[[8, 9], [25, 22]]
def打印分割列表(原始列表、分割值):
较低的_列表=[如果v=分割_值]
打印下部列表、上部列表
打印分割列表([25,8,22,9],20)#=>[8,9][25,22]
def打印分割列表(原始列表、分割值):
较低的_列表=[如果v=分割_值]
打印下部列表、上部列表
打印分割列表([25,8,22,9],20)#=>[8,9][25,22]

如果查看URL,您会发现您不在;)当老师展示这个时,他会说什么?:)超级答案!要是所有的答案都是这样就好了@Trufa我们不知道是否有老师,因为它没有被标记为家庭作业。如果你查看URL,你会发现你不在;)当老师展示这个时,他会说什么?:)超级答案!要是所有的答案都是这样就好了@Trufa我们不知道是否有老师,因为它没有被标记为家庭作业。这将使列表2中的数字
=
变为20,这是不正确的。将
else
更改为
x>20
@jamylak我从未注意到你的评论,我不知道为什么!我以为他只是错过了worded,想要名单上的20个,但我们从未收到OP的回复,所以谁知道。。。我将在警告中编辑。。。谢谢这会将数字
==
放到
列表2中的20,这是不正确的。将
else
更改为
x>20
@jamylak我从未注意到你的评论,我不知道为什么!我以为他只是错过了worded,想要名单上的20个,但我们从未收到OP的回复,所以谁知道。。。我将在警告中编辑。。。谢谢这是由于排序而导致的O(n log n)。此外,打印完成时,循环至少应立即退出。由于排序原因,该循环为O(n log n)。此外,循环至少应该在打印完成后立即退出。这可能是他所说的,但我解释了他的意思。我怀疑他只是想扔掉任何20个。他可能是这么说的,但我解释了他的意思。我怀疑他只是想扔掉任何20个。
def print_split_list(raw_list, split_value):
    lower_list = [v for v in raw_list if v < split_value]
    upper_list = [v for v in raw_list if v >= split_value]
    print lower_list, upper_list

print_split_list([25, 8, 22, 9], 20)  # => [8, 9] [25, 22]
li = [25, 8, 22, 9]
li.sort()

for i, x in enumerate(li):
    if x > 20:
        print li[:i]
        print li[i:]
        break