Python中关于list与NumPy.ndarry切片两者的对比详解


本文摘自php中文网,作者黄舟,侵删。

这篇文章主要介绍了详解Python list 与 NumPy.ndarry 切片之间的区别的相关资料,list 切片返回的是不原数据,对新数据的修改不会影响原数据而NumPy.ndarry 的切片返回的是原数据需要的朋友可以参考下

详解Python list 与 NumPy.ndarry 切片之间的区别

实例代码:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

# list 切片返回的是不原数据,对新数据的修改不会影响原数据

In [45]: list1 = [1, 2, 3, 4, 5]

 

In [46]: list2 = list1[:3]

 

In [47]: list2

Out[47]: [1, 2, 3]

 

In [49]: list2[1] = 1999

 

# 原数据没变

In [50]: list1

Out[50]: [1, 2, 3, 4, 5]

 

In [51]: list2

Out[51]: [1, 1999, 3]

 

 

 

# 而 NumPy.ndarry 的切片返回的是原数据

In [52]: arr = np.array([1, 2, 3, 4, 5])

 

In [53]: arr

Out[53]: array([1, 2, 3, 4, 5])

 

In [54]: arr1 = arr[:3]

 

In [55]: arr1

Out[55]: array([1, 2, 3])

 

In [56]: arr1[0] = 989

 

In [57]: arr1

Out[57]: array([98923])

 

# 修改了原数据

In [58]: arr

Out[58]: array([9892345])

 

# 若希望得到原数据的副本, 可以用 copy()

In [59]: arr2 = arr[:3].copy()

 

In [60]: arr2

Out[60]: array([98923])

 

In [61]: arr2[1] = 99282

 

In [62]: arr2

Out[62]: array([ 989, 99282,   3])

 

# 原数据没被修改

In [63]: arr

Out[63]: array([9892345])

以上就是Python中关于list与NumPy.ndarry切片两者的对比详解的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python人工智能是什么意思

方法示例Python如何把字典写入到csv文件的

Python是什么编程语言

Python析构函数与构造函数的用法讲解

教你一招用Python破解斗地主残局

Python递归求阶乘的方法

Python中+=是什么意思

Python单引号和双引号、三引号的区别是什么

Python--beautifulsoup库的介绍

Python字典有set方法吗

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...