【问题标题】:printing a single value of a list with enumerate function使用枚举函数打印列表的单个值
【发布时间】:2020-06-14 11:33:14
【问题描述】:

我有如下声明:

for i, char in enumerate(list(range(100))):

现在我只想打印值,其中 char 等于 50。

我试过下面的想法,但不明白为什么不正确:

for i, char in enumerate(list(range(100))):

  char == 50

  print(i)

解决办法是我必须放一个“if”语句,我已经理解了它背后的逻辑但也想问,为什么我的方法无效。

感谢您提前提供帮助。

【问题讨论】:

  • 那么,预期的结果是什么...50 或其他?
  • 您的语句 char == 50 计算出 TrueFalse 值,但随后不会将其用于任何事情。如果您想将此作为条件的基础,那么您将需要一个if 语句。
  • 其他一些cmets:(a)变量名char暗示它包含一个字符但实际上包含一个整数;尽量避免误导变量名,因为它们会使代码更难调试; (b) 您可以直接使用enumerate(range(100));您不需要将range 返回的对象转换为列表。

标签: python list if-statement range enumerate


【解决方案1】:

你快到了,你只需要像这样使用if 条件:

for i, char in enumerate(list(range(100))):
    if char == 50:   #<--- add if here
        print(i)     #<--- inside the if-condition

另外,我认为没有必要使用enumeratelist

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多