Python内置数据结构——列表list,元组tuple

发布时间:2020-08-03 02:12:14 作者:AiSmile
来源:网络 阅读:550

内置数据结构分类:

数值型

int , float , complex , bool

序列对象

字符串 str

列表 list

tuple(元组)

键值对

集合 set

字典 dict


数字型

列表 list()

       列表是可变的,连续的(sequence),可以进行索引的,线性数据结构,可迭代的数据结构

区分:

    list列表: 查找快...但是从修改(增/删)的时候,很麻烦很慢

    link链表: 查找慢...但是修改快,查找很慢

    queue(队列): 先进先出~

    stack(栈): 先进后出,后进先出(堆栈)

列表list定义:  初始化

    list() ->new empty list

    list(iterable) -> new list initialized from iterable's items

    list不能一开始就定义大小

lst = list()
lst = []
lst = [2,5,6,'ab']
lst = list(range(5))

索引 index: 也叫下标,从0️开始

列表查询方法:

1.L.index(valve,[start,stop])

2.count(valve)

len():输出列表的长度

列表元素修改

索引访问修改 ,索引不要超界

list[index] = valve

列表增加,插入列表

返回None意味着没有新的列表产生,就地修改

1.L.append(object) -> None

2.L.insert(index,object) -> None

3.L.extend(iterable) -> None

返回 list ,意味着产生了新的list

1. + -> list

2. *  -> list

x = [[1,2,3]] * 3
print(x)
x[0][1] = 20
print(x)

[[1, 2, 3], [1, 2, 3], [1, 2, 3]]
[[1, 20, 3], [1, 20, 3], [1, 20, 3]]

y = [1] * 5
y[0] = 6
y[1] = 7
print(y)

[6, 7, 1, 1, 1]

列表删除元素

1. L.remove(valve) -> None

2. L.pop([index]) -> item

3. L.clear() -> None

其它列表操作

1. L.reserve() -> None

2. L.sort(key=None,reserve=Flase) -> None

3. in , not in

列表复制

L.copy() -> List

1.浅拷贝shadow copy:

        影子拷贝,也叫浅拷贝,遇到引用类型,只是复制了一个引用而已

lst0 = [1,[2,3,4],5]
lst5 = lst0.copy()
lst5[1][1] = 20
print(lst5)
print(lst0)

[1, [2, 20, 4], 5]
[1, [2, 20, 4], 5]

2.深拷贝deepcopy

        copy模块提供了deepcopy

import copy
lst0 = [1,[2,3,4],5]
lst5 = copy.deepcopy(lst0)
lst5[1][1] = 20
lst5 ! == lst0
print(lst5)
print(lst0)

[1, [2, 20, 4], 5]
[1, [2, 3, 4], 5]

随机数 random模块

1. random.randint(a,b)  -> item

2. random.randrange([start],stop,[step])  -> item

3. random.choice()  -> item

4. random.shuffle(list) -> none

5. random.sample(population,k) -> list

random.sample(['a','b','c','d'],2)
random.sample(['a','b'] ,2


元组

一个有序的元素组成的集合

使用小括号()表示

元组是不可变对象


元组的定义 初始化

定义:

    tuple() -> empty tuple

    tuple(iterable) -> tuple initialized from iterable's items

t = tuple()

t = ()

t = tuple(range(1,7,2)) 可迭代对象

t = (1,) # 一个元素元组的定义,注意要有个逗号

t = (1,) * 5

t = (1,2,3) * 6

元组元素的访问

元组查询

1.t.index(valve,[start,stop])

2.count(valve)

元组不可变,只读,所以没有增,删,改的方法

命名元组namedtuple

namedtuple(typename,field_names,verbose= False,rename=False)

from collections import namedtuple
point = namedtuple("_point",["x", "y"]) # point为返回的类
p = point(11,22)

Exp:
form collections import namedtuple
Student = namedtuple("Student","name age")
tom = Student("tom",20)
jerry = Student("jerry,18")
tome.name
推荐阅读:
  1. python 元组tuple(14)
  2. python数据结构之列表、字典、元组、集合

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python内置数据结构 列表 元组

上一篇:[Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告

下一篇:centos 7.3 部署varnish缓存服务器

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》