Python(4)list和tuple(类似js里的数组)

来源:互联网 发布:大津算法 opencv 编辑:程序博客网 时间:2024/06/05 14:09

6、list

list其实就是js里的数组,放置在中括号里,用逗号分隔,就是数组的元素。

例如:

foo = [1, 2, 3]print(foo)  # [1, 2, 3]

len()

访问list的长度。

foo = [1, 2, 3]print(len(foo))  # 3

list[n]

访问数组的某个元素。访问第x个元素,n应为x-1。超限的话会报错。

foo = [1, 2, 3]print(foo[0])  # 1

当n为负数时,是从最后往前找。最后一个是-1,倒数第二个是-2,依次类推。同样,超限会报错。

foo = [1, 2, 3]print(foo[-3])  # 1

list.append(element)

向list尾部添加新元素

foo = [1, 2, 3]foo.append(4)print(foo)  # [1, 2, 3, 4]

list.insert(sub, element)

将参数二插入参数一指定的下标的位置。数组里原该位置的元素,和后面的元素,会依次向后移动一位。

foo = [1, 2, 3]foo.insert(1, 4)print(foo)  # [1, 4, 2, 3]

list.pop(sub)

参数可选。

  1. 有参数:从数组中移除指定下标的元素,后面的元素依次往前移动一位;
  2. 无参数:移除数组中最后一个元素;
foo = [1, 2, 3]foo.pop(1)print(foo)  # [1, 3]foo.pop()print(foo)  # [1]

7、tuple

类似list,但是相比list来说有几个特点:

  1. tuple内部的元素个数是固定的,不能新增,也不能删除;
  2. tuple内部的元素,值不能被修改;
  3. 元素是list或者类似的时候比较特殊。假如是list,那么list可以添加或删除元素,但list本身是没有被修改的(类似js里的按引用传递,或者是c/c++里面的指针)

如果违反以上约束,那么就会报错。

其他类似list,给出示例如下:

普通声明:

用圆括号替代方括号

foo = (1, 2)print(foo)  # (1, 2)

当其内部只有一个元素时:

需要在第一个元素后面,额外加一个逗号

foo = (1,)print(foo)  # (1,)

获取指定位置的元素:

foo = (1, 2, 3)print(foo[1])  # 2

获取长度:

foo = (1, 2, 3)print(len(foo))  # 3foo = (1,)print(len(foo))  # 1
原创粉丝点击