给有C或C++基础的Python入门 :Python Crash Course 4 操作列表 4.4 -- 4.5

上接前一篇文章。

4.4 使用列表的一部分

  一,切片

  切边,顾名思义,就是处理列表的部分元素

  我们可以联系一下C++的一段语句:for(int i = 0; i < n-2; ++i) cout << a[i];  

  这句语句就是访问了一个有n个元素的数组的1--n-2个元素(下标为0--n-3)。

  而这个实现在Python中的实现如下:

 

1 players = ['charles', 'martina', 'peter', 'mina']
2 print(players[:4])
3 print(players[0:3])
4 print(players[1:3])
5 print(players[2:])
6 print(players[-3:])

2到6的代码分别是:

  1. 打印列表中第一到第四个元素(下标为0到3)。注意,“ : x”表示下标从0到x-1。“x:”表示下标从x到n-1
  2. ’打印列表中第一到第三个元素(下标为0到2)。
  3. 打印列表中第二到第三个元素(下标为1到2)。
  4. 从第三个元素开始打印列表元素直到末尾元素(下标从2到n-1)。
  5. 打印列表中倒数三个元素(下标为n-3到n-1)。注意,为负值时从后开始数。

  二,复制列表

先看如下代码:

 1 names = ['peter', 'mina', 'mpeter', 'katherine']
 2 my_friends = names[:]
 3 
 4 print('I have a list of my friends:')
 5 print(names)
 6 print("However mina have a same list !")
 7 print(my_friends)
 8 print("But mike just have two in my list")
 9 mike_friends = names[0:2]
10 print(mike_friends)

 复制列表的原理其实很简单:

  声明一个列表a -> 赋值 -> 再声明一个列表b -> 从头到尾遍历列表a并同时传值到列表b -> 结束。

4.5 元祖

  在python中,将不可变的列表称为元祖。

  其实,和C++中的const定义常数组一样类似,一旦定义了则不可以修改。

定义规则如下:(用划“()”括号定义

dimensions = (1, 20, 50, 100)
print(dimensions[0])
print(dimensions[1])

而若想修改,就会报错!

1 dimensions = (1, 20, 50, 100)
2 print(dimensions[0])
3 print(dimensions[1])
4 #error!!
5 #dimensions[0] = 2
6 #print(dimensions[0])

同普通列表一样元祖亦可以遍历:

const_numbers = (1, 2, 3, 4, 5, 6)
for number in const_numbers:
    print(number)

如果你想改变元祖的值,你只能重新定义像这样:

const_numbers = (2, 3, 4, 5, 6, 7)
for number in const_numbers:
    print(number)

                      To be continued...

如有错误,欢迎评论指正!

化繁为简 大巧不工
原文地址:https://www.cnblogs.com/mpeter/p/9536586.html