码迷,mamicode.com
首页 > 其他好文 > 详细

day5 元组、列表、字典和集合

时间:2018-03-21 23:47:26      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:元素   for   ber   找不到   索引   集合   long   删除索引   body   

列表是用来存放多个值
[]内用逗号分隔,列表内元素屋类型限制
但凡能用for取出的一个个值的,就能把它放入list列表

补充for循环
range()和切片用法相同
取头不取尾,步长
range用来打印索引和索引对应的值
enumerate(列表/字符串)
既要索引又要值使用enumerate()更方便

排序
.sort() 正序排列
.reverse() 倒序排列
.sort(reverse = Ture) 倒序排列

列表比较
只能同类型直接比较大小,对有索引的值的比较,是按照位置一一对应的


.extend(列表)添加多个元素
.append()添加一个元素,参数放列表的话,会被当成一个元素,添加到列表里


.remove(元素)删除返回的是None
.pop()不加参数默认删除末尾
.pop(索引)删除索引对应的值
.pop能把值弹出来(取走一个值)


列表[‘元素‘] = 任意值


.index(‘元素‘,起始位置,结束位置)查找元素的索引值
.count(‘元素‘)查找列表中对应元素个数

字典
以k:v的形式存多个值
存取都快,每个k对应一个V
{}内以逗号分隔元素,其中格式为k:v
其中key必须为不可变类型,value可以是任意类型
字典没有索引,根据key取值
key不能重复
成员运算按照key


字典.keys()
字典.values()
字典.items()
.get(元素) 返回对应的value,找不到返回None


.updata(字典) 对新字典来说,更新指,新有老无则添加,新有老有则覆盖(文件合并)
.fromkey(列表,None) 快速产生一个模板字典


字典[key] = 任意值
.setdefault(列表)字典中有KEY,则不修改,返回原key对应的原值,没有对应的KEY,则添加,返回添加的KEY对应的VALUE


.pop(元素,None) 找不到元素,返回None
.popitem() 随机弹出一个键值对

集合
set()
在{}内用逗号分隔开一个个元素
注意的问题
1.集合内没有重复的元素
2.集合内的元素必须是不可变类型

用途
1.关系运算
2.去重

交集$
并集 |
差集 -
交叉补集 ^


.add() 一次加一个值
.updata() 一次加多个值


.discard() 删除的元素不存在时,不报错
.remove() 删除的元素不存在时,报错查
s1={1,‘a‘,‘b‘,‘c‘,‘d‘}
for item in s1:
    print(item)

去重
s1={1,‘a‘,‘b‘,‘c‘,‘d‘}
l_new=[]
s=set()
for item in l:
  if item not in s:
    s.add(item)
    l_new.append(item)

元组
tuple()
元组是“不可变的列表”但他的本质不是列表
在多个值只有读的需求没有改的需求
在元素数相同时,元组更节省空间
元组的值不能被更改
他仅有index()和count()
其他用法与列表一样

# 步长不够的情况怎么办 msg=[1,2,3,4,5,6,7] print(msg[1:5:2]) #[2,3,4,5] print(msg[1:4:2]) #[2,3,4] 步长为2,列表里的值只有三位也能取到

 

remove是按照元素去删的

remove能删多个元素么?

不能,remove一次只能删除一个元素

 

isdigit只能判断str类型的数字,且小数不能判断,int类型没有isdigit方法

 

有序 按数字大小或者大小写字母大小排列么

无序 随机排列

可以被索引的都是有序的

元素

day5 元组、列表、字典和集合

标签:元素   for   ber   找不到   索引   集合   long   删除索引   body   

原文地址:https://www.cnblogs.com/shanjinghao/p/8620599.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!