美文网首页
第三章 容器 ---->列表、元组、字典、set

第三章 容器 ---->列表、元组、字典、set

作者: 清茶也醉人Q | 来源:发表于2017-12-27 17:07 被阅读0次

集合容器:列表 元组 列表和元组相互转换 字典 set

列表:

用一对方括号[]表示 列表中可以存储任何类型的数据

一般情况下一个列表存放的数据类型 都一样 这样便于对列表的操作


增:

list.append(value) 在列表尾部添加元素

value = list.insert(index) 根据索引向列表中插入元素

list.extend(list1) 向list追加list1中所有的元素 也是两个列表相连接的意思


删:

list.remove(value) 移除列表中某个元素

list.pop() 删除列表末尾元素

list.pop(index) 根据索引删除元素

del list[index] 根据索引删除元素


查:

value = list[index] 根据索引查找元素

list.count(value) 统计列表中某个元素出现次数

index = list[value] 根据值来查找对应的索引

len(list) 列表长度

max(list) 列表中元素最大值 仅限于列表中都是数字的情况

min(list) 列表元素最小值


改: list[index] = value

切片: list[x:y:l] x:从索引几开始(包含) y:到索引几结束(不包含) l:每次切片的长度

常见的几种情况

list = [1,2,3,4,5,6,7,8,9,0]

#从头切到位

print(list[::]) #[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

print(list[1:5:2]) #[2, 4]

print(list[0:5:2]) #[1, 3, 5]

print(list[::-1]) #[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]

print(list[::-2]) #[0, 8, 6, 4, 2]

print(list[-2:1:-2])#[9, 7, 5, 3]

print(list[-2:1:2]) #[]若找不到则输出空列表

print('*'*30)


判断:

in 在则输出Ture 否则返回False

not in 不在则输出Ture 否则返回False


反转:

reserve()

list.reverse() 对原列表倒叙排列

list.sort() 按顺序排列

'''

#reverse = True 时倒序排列

list1 = [1,2,3,4,5,69,0,7,8,]

print(list1)

list1.sort()# list.sort()=list.sort(reserve = False)

print(list1)

list1.sort(reverse = True)#false 默认正序 Ture 默认倒序

print(list1)

'''


遍历: for in while enumerate

'''

list1 = [1,2,3,4,5,6,7,8,9,0]

print('****************1、for 变量名 in list*******************')

for a in list1:

 print(a)

print('****************2、for index in range(list)*******************')

for a in range(len(list1)):

print('index-->%s,value-->%s'%(a,list1[a]))

print('****************3、while index < len(list)*******************')

a = 0

while a < len(list1):

print('index-->%s,value-->%s'%(a,list1[a]))

a+=1

print('****************4、for index,obj in enumerate(list)*******************')

for a,obj in enumerate(list1):

print('index-->%s,value-->%s'%(a,list1[a]))

'''


元组:

tuple用一对小括号()表示

元组和列表相似 但是元组是不可改变的

有查询,判断的操作

max(tup) min(tup) value = tup[index] len(tup) in not in

删除的话是删除整个列表

和列表一样也可以使用四种方法遍历

列表和元组相互转换:

list = list(tup)

tup = tuple(list)

'''

list1 = [5,6,7]

tup = tuple(list1)

print(tup)

tup = (1,2,3)

list1=list(tup)

print(list1)

'''


字典:

用对花括号表示{key:value}

字典里面元素都是键值对的形式存在 key必须是唯一的 value可以是任何类型


增(改):

map('key') = value 若字典中没有该键则添加 若有则更新此键对应的值


删:

map.pop(key) 根据键删除元素 并将此元素返回

map.popitem() 随机删除一个键值对

del map[key] 根据键删除元素

map.clear() 清空字典


查:

value = map[key] 根据键查询值 若无此键报错

value = map.get(key,[默认值]) 如果key不存在,可以返回None,或者自己指定的value

len(map) 字典中键值对的个数

str(map) 输出字典可打印的字符串表示

map.keys() 输出所有键

map.values() 输出所有值

map.items() 输出所有键值对


判断: in not in

遍历:for循环遍历的三种方式

'''

map1 =  {'a':'a','b':'b','c':'c','d':'d'}

for a in map1.keys():

print('key-->%s,value-->%s'%(a,map1[a]))

print('***********************************')

for a in map1:

print('key-->%s,value-->%s'%(a,map1[a]))

print('***********************************')

for k,v in map1.items():

print('key-->%s,value-->%s'%(k,v))

'''


其他操作:

map2 = map1.copy() 返回一个新的字典,内容一样,地址不同

dict.update(dict2) 把字典dict2的键值对更新到dict里

和list比较,dict有以下几个特点:

查找速度极快,不会随着key的增加而变慢;

需要占用大量的内存,内存浪费多。

而list:

查找和插入的时间随着元素的增加而增加;

占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。

set:

set = {值1,值2,.....值}

set是无序的 元素不可重复的集合 可以用来过滤重复元素

增:

set.add(value) 向set中添加元素

set.update(value) 将一个可迭代的内容,一一加入set中


删:

set.pop() 删除任意一个值

set.discard(value) 删除指定元素 若无此元素也不报错

set.remove(value) 删除指定元素 若无此元素报错

set.clear() 清空set集合


其他:

| 并集

& 交集

intersection 交集函数 print(set.union(set1))

- 差集

difference 差集

in 判断

union 联合

issubset 子集

issuperset 父集


多维:

多维列表,元组

就是列表里套列表 这里以列表为例子

'''

list1 = [[1,2],[1,2,3],[1,2,3,4,],[1,2,3,4,5]]


#遍历此列表

x = 0

#外层循环遍历行

while x < len(list1):

y = 0

#内层循环遍历列

while y < len(list1[x]):

print('x-->%s,y-->%s,xy-->%s'%(x,y,list1[x][y]))

y+=1

x+=1

'''

传递:

可变类型:列表 字典 set

两个变量引用同一个元素时 地址值是相同的,

当一个变量值发生变化另一个变量值 也会发生变化

不可变类型:int float str bool None 元组

两个变量引用一个值时,地址值时相同的修改一个变量值,

不会影响另外一个变量值

'''

#不可变类型

a = 1

b = a

print(a)

print(id(a))

print(b)

print(id(b))

print('**********************')

a = 2

print(a)

print(id(a))

print(b)

print(id(b))

print('**********************')

#可变类型

set = {1,2,3,4,5,56}

set1 = set

print(set)

print(id(set))

print(set1)

print(id(set1))

print('**********************')

set.pop()

print(set)

print(id(set))

print(set1)

print(id(set1))

相关文章

  • 第三章 容器 ---->列表、元组、字典、set

    集合容器:列表 元组 列表和元组相互转换 字典 set 列表: 用一对方括号[]表示 列表中可以存储任何类型的数据...

  • 数据结构

    序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的数据结构(也称为容器)。 序列(列表、元组和字符...

  • 集合容器指令

    列表: 元组: 字典: 增: 删 查: set:

  • 什么是迭代器,Python迭代器及其用法

    前面章节中,已经对列表(list)、元组(tuple)、字典(dict)、集合(set)这些序列式容器做了详细的介...

  • Python基础之2 容器:List Tuple Diction

    Python有4个内建的数据结构:List列表,Tuple元组,Dictionary字典,Set集合,统称为容器c...

  • 2018-11-29 (Review-2)

    三.容器(列表\元组\字典) 1. 列表 特点:可变,有序 列表的值可以是整数,布尔值,浮点数, 列表,元组,字典...

  • 为什么Python中会有集合set类型?

    知乎上有人提问,为什么Python有了列表list、元组tuple、字典dict这样的容器后,还要弄个集合set?...

  • Python数据结构

    Python中数据结构可以统称为容器,常见的数据结构包括序列(列表和元组等),映射(字典)和集合(Set)。一 、...

  • python第六天

    集合 1、列表list 2、元组tuple 3、字典dict 4、无序列表set 一、列表 列表的语法 定义 标...

  • Python的组合数据类型都有什么?

    列表(list)、元组(tuple)、集合(set)、字典(dict) 列表(list)在之前的文章介绍了,传送门...

网友评论

      本文标题:第三章 容器 ---->列表、元组、字典、set

      本文链接:https://www.haomeiwen.com/subject/qhgugxtx.html