【问题标题】:I can't find the value of the “k” smallest integer in "n" amount of integers in a list [duplicate]我在列表中的“n”个整数中找不到“k”个最小整数的值[重复]
【发布时间】:2020-12-01 22:42:01
【问题描述】:
n = input('print n:')
k = input('print k')
a = input('print'+str(n)+'numbers:')
s = str(a)
Lst = s.split()
map_object = map(int, Lst)
lst = list(map_object)

剩下的都做完了,不知道怎么找到并打印出第k个最小的整数。

输入:

10(n) 3(k)

1 3 3 7 2 5 1 2 4 6(n 个数字)

输出:

3

【问题讨论】:

  • 这是一个矩阵,这是一个列表。不幸的是,我还没有学过矩阵。

标签: python


【解决方案1】:

你可以有重复的数字,所以首先我们使用set()来删除它们:

no_duplicates = set(lst)

然后我们对其进行排序,这将返回我们排序的列表:

sorted_list = sorted(no_duplicates)

然后我们得到你想要的数字(你还没有将k转换为int,所以我们会在这里做):

kth_smallest = sorted_list[int(k)-1]

【讨论】:

  • 当我在原始代码下方添加代码时,它在第 15 行表示 Sub: 'str' 和 'int' 的操作数类型不受支持
  • print(kth_smallest)
  • 不。仍然在第 15 行表示 Sub: 'str' 和 'int' 的不支持的操作数类型。
  • 等等!我将 int() 添加到 k 然后它起作用了!
  • 呵呵,好吧,我错了,我会编辑答案
猜你喜欢
  • 2015-06-07
  • 2012-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-04
  • 1970-01-01
  • 2013-11-08
  • 2016-03-20
相关资源
最近更新 更多