python - 反转python中的数字列表

标签 python list

所以我已经尝试这样做一段时间了,并且不断遇到不同的失败。我需要从用户那里获取数字输入并将其放入列表中并以递减值输出:

bids = []
bid = input('Bid: ')
while bid != '':
  bids.append(bid)
  bid = input('Bid: ')
print('The auction has finished! The bids were:')

for bid in bids:
  bid = int(bid)

for bid in reversed(bids):
 print(bid)

所以这在大多数时间都运行良好,(我一直使用数字 2、3、4 和 10 作为输入,因为我一直遇到问题,它以降序显示第一个数字的数字)但是当我输入 16、30、24,它显示的数字为:

The auction has finished! The bids were:
24
30
16

这是我尝试过的另一个版本:

bids = []
bid = input('Bid: ')
while bid != '':
  bids.append(bid)
  bid = input('Bid: ')
print('The auction has finished! The bids were:')

for bid in bids:
  bid = int(bid)

bids.sort([::-1]) #Here is where the problem is at, I don't know
                  #what the correct syntax is for something like that

for bid in bids:
  print(bid)

任何帮助将不胜感激,因为我是 python 的新手并且正在努力学习我的类(class)。

-卡勒姆

最佳答案

在你的

bids.append(bid)

你得到一个字符串列表。您想将它们转换为整数并按降序排序:

numerical_bids = [int(bid) for bid in bids]
numerical_bids.sort(reverse=True)

现在 numerical_bids 是一个按降序排列的整数列表。

在您的代码中:

for bid in bids:
    bid = int(bid)

什么都不做。它将每个 bid 转换为一个整数并立即忘记它。

bids.sort([::-1])

不是如何使用 sort 方法。阅读 list.sort 的文档.

关于python - 反转python中的数字列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34494963/

相关文章:

python - 如何在pygame中找到用户输入位置上的按钮并更改其颜色?

python - 为什么用户信息不使用django附加到mysql数据库?

python - 无返回时处理 JSON 解码错误

list - Haskell:在列表和元组之间

java - 将构造函数与 Integer 一起使用

css - list-style-none + background-image = margin 不起作用?

python - pandas read_csv 中的编解码器问题

python - 遍历 pandas 中的行并计算唯一的主题标签

c++ - C/C++ 链表永远不为空

python - 在另一个列表上应用 lambda 函数列表时的意外行为