Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.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_Python 3.x - Fatal编程技术网

在给定的列表中,如何确定较小的数字紧跟较大的数字?(Python)

在给定的列表中,如何确定较小的数字紧跟较大的数字?(Python),python,python-3.x,Python,Python 3.x,例如,给您一个列表,例如: a=[14,26,30,15,25,30] 前面有较大数字的小数字是15。所以我只想打印数字15 这就是我所处的位置: def alist(a): for i in a: if i ??? 帮助,我迷路了。如果您在循环中存储每个项目的最后一个编号,您可以回头查看 首先存储列表中的第一个数字。在之后的数字上循环(使用python数组切片a[1://code>) 如果当前数字小于使用for循环会慢得多,最好使用NumPy,如下所示: import

例如,给您一个列表,例如:
a=[14,26,30,15,25,30]

前面有较大数字的小数字是15。所以我只想打印数字15

这就是我所处的位置:

def alist(a):
    for i in a:
        if i ???

帮助,我迷路了。

如果您在循环中存储每个项目的最后一个编号,您可以回头查看

首先存储列表中的第一个数字。在之后的数字上循环(使用python数组切片
a[1://code>)


如果当前数字小于
使用
for
循环会慢得多,最好使用
NumPy
,如下所示:

import numpy as np
a = [14, 26, 30, 15, 25, 30]
a = np.array(a)
greater_num = a[np.append(False, (a[1:]-a[:-1])<0)]
print(greater_num)

# Output: array([15])
将numpy导入为np
a=[14,26,30,15,25,30]
a=np.数组(a)

greater_num=a[np.append(False,(a[1:]-a[:-1])您可以这样做,而无需使用for循环-

a = [14, 26, 30, 15, 25, 30]
s = set(a) # This is required if you have duplicate elements in your list, will convert list into sets and remove duplicates
print (sorted(s)[1]) # print the second smallest number.
Oputput:
15

你也可以使用


Oputput:
15

为什么数字是15而不是14?(14如果
a=[14,26,30,15,25,9]
?它应该只打印15吗?还是也打印9,因为它比25小。如果
a=[14,26,30,15,13,9]
import heapq
a = [14, 26, 30, 15, 25, 30]
print (heapq.nsmallest(2, a)[-1]) # print the second smallest number.