python-3.x - n 的 int(n) 是什么意思?
问题描述
为了将输入放入列表中:
numbersList = [int(n) for n in input('Enter numbers: ').split()]
有人能解释一下'int(n) for n in'是什么意思吗?
我该如何改进这个问题?
解决方案
整个表达式称为列表理解。这是一种更简单的 Pythonic 方法来构造一个遍历列表的 for 循环。
https://www.pythonforbeginners.com/basics/list-comprehensions-in-python
鉴于您的代码:
numbersList = [int(n) for n in input('Enter numbers: ').split()]
假设您运行提供的代码,您会收到输入提示:
Enter numbers: 10 8 25 33
现在发生的是,Python 的 input() 函数返回一个字符串,如此处所述:
https://docs.python.org/3/library/functions.html#input
所以代码现在基本上变成了这样:
numbersList = [int(n) for n in "10 8 25 33".split()]
现在 split() 函数从给定字符分隔的字符串中返回一个元素数组,作为字符串。
https://www.pythonforbeginners.com/dictionary/python-split
所以现在你的代码变成了:
numbersList = [int(n) for n in ["10", "8", "25", "33"]]
这段代码现在相当于:
numbersAsStringsList = ["10", "8", "25", "33"]
numberList = []
for n in numbersAsStringsList:
numberList.append(int(n))
int(n) 方法将参数 n 从字符串转换为 int 并返回 int。
推荐阅读
- react-native - 如何在活动视图控制器(ActionSheetIOS.showActionSheetWithOptions)上显示“保存图像”?
- mysql - 如何删除重复行分组两列?
- sql - 显示每个类别的记录数
- c# - 为什么我在附加客户端证书时收到“无法创建 SSL/TLS 安全通道”?
- python - Regular expression matching repeating pattern across multiple lines
- javascript - How to dim an input box after another input box is filling?
- php - rpmbuild php 包无法创建目录权限被拒绝然后 %install
- c++ - 在 C++ 中生成唯一的随机数
- c - execve后如何返回0?
- ssl - 使用包括中间证书的密钥将 PFX 转换为 PEM