【问题标题】:Enumerate in Python variable positions枚举 Python 变量位置
【发布时间】:2020-03-31 11:56:39
【问题描述】:

我想知道:这两者有什么区别:

return "-".join([c.upper() + c.lower() * i for i,c in enumerate(txt)])
return "-".join([c.upper() + c.lower() * i for c,i in enumerate(txt)])

我只是用 'c' 更改了 'i' 并且整个代码不起作用。 有简单的解释吗?

【问题讨论】:

  • enumerate 在您的情况下返回一个数字和一个字符。无论您是尝试在数字还是字符上调用.upper(),这肯定会有所不同,不是吗?
  • 完全正确,根本没看到,因为那里只有'txt'。

标签: python list enumerate


【解决方案1】:

是的。 enumerate() 从给定的可迭代对象中生成一对 (index, item)

对于字符串"hello",它将返回(格式化为列表)

[
  (0, 'h'),
  (1, 'e'),
  (2, 'l'),
  (3, 'l'),
  (4, 'o'),
]

为了简单起见,我们只看第一项,(0, 'h')

如果你使用i, c来解压,i的值将是0c的值将是'h'c.lower()等等。就像乘法一样编号为i

如果你使用c, i来解压,c的值将是0i的值将是'h',并且c.lower()不再存在,因为c是一个数字,i 是一个字符串。

【讨论】:

  • 完全明白了。感谢您为简单起见!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 2017-09-09
  • 2021-03-15
  • 2014-09-20
  • 2012-06-22
  • 1970-01-01
  • 2021-06-02
相关资源
最近更新 更多