python基本输入
✨基本介绍
在 Python3.x
中 raw_input()
和input()
进行了整合,去除了 raw_input( )
, 仅保留了input( )
函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
input()
函数接受一个标准输入数据,返回为 string
类型。
🎈input()输入
0. 基本用法
input括号里面写的是输入提示信息,input()输入的是字符串形式,如果要是输入其他类型需要进行转换。
1 | ''' |
1. 输入字符串
非常简单🎨
1 | ## 字符串输入 |
2. 输入数字
只需在input
外面套上一层int
1 | ## 数字输入 |
输出:
3.输入一维数组
input只能输入一行其中的空格也会被包括进去,所以我们要使用split(“ “)空格分隔,strip()是去掉首末尾的特定字符。ps:默认不填是去掉首尾空格
1 | ## 一维数组输入 |
输出:
这里使用了列表和字典两种写法
1 | ## 一维数组数组输入 |
输出:
4.输入二维数组
对于二维数组的输入,情况变得复杂起来,下面我们看看什么情况吧。
不恰当的方法
1 | ## 二维数组输入 |
此时我们初始化一个2行3列的列表,令arr[0][0]=1
,这时我们发现第1行和第2行的第1个元素都变成了1,不对啊,我们不是只动了第1行第1个元素,怎么第二行也变了?
我们看arr = [[0] * _list] * _row
这句代码,首先我们定义了一个[[0] * _list]
,代表长度为_list的元素全为0的列表这里是没有问题的,但是后面的* row
,是将这个列表浅拷贝,形成连接,而不是真正的创建了三个列表,如同C中的指针,三个指针同时指向了一个列表,所以对其中一个进行改变,另外的也会发生变化。所以这种写法并不恰当

输出:
恰当的方法
所以我们要写成下面这种arr = [[0] * _list for i in range(_row)]
,这样写才是创建了_row
个列表,形成一个二维列表
1 | ##恰当的方法 |


5. 多维数组输入(调用库函数)
可以像创建二维数组那样创建多维数组,但是那样写比较复杂,此时我们可以直接调用第三方库numpy
.
numpy.ndarray
可以创建一个 C 一样的数组。必填参数 shape
决定数组的形状,如 numpy.ndarray((7, 9, 11))
创建的数组相当于 C 中的 float[7][9][11]
;选填参数 dtype
决定数组中的数据类型,默认为 float
,如 numpy.ndarray((3, 5), int)
就相当于 C 中的 int[3][5]
.
此外 numpy.array
可以将一个 Python list
转化成 numpy.ndarray
1 | import numpy as np |