数据类型之列表和元组
一、列表
作用:按位置存放多个值,使用“,”分隔开,使用索引取值
类型转换:但凡能够被for循环遍历的类型都可以当做参数传给list()转成列表
内置方法:
1.按索引取值(优先)
l=['a','23','world'] #按索引取值 print(l[0]) l[1]=98 # 按索引改值 print(l[1]) l=['a','23','world'] # 追加 l.append('china') # 向列表加值 print(l) l=['a','23','world'] # 插入值 l.insert(1,'hello') # 在列表的索引1前面加“hello” print(l) l=['a','23','world'] new_l=[1,2,3] l.extend(new_l) # 迭代添加值 print(l) # ['a', '23', 'world', 1, 2, 3] l=['a','23','world'] # 删除值 l.pop(0) # 根据索引删除列表中的值,不指定索引默认删除最后一个, l1=l.pop(0) # 返回删除的值 print(l) print(l1) l=['a','23','world'] l.remove('a') # 根据元素删除,返回none print(l)
2.切片(优先)
l=['a','23','world'] print(l[0:len(l)]) # 把完整的列表取一遍 l111=l[:] # 等同于copy行为(浅copy) print(l[:])
l=['a','23','world'] print(l[0:len(l)]) # 把完整的列表取一遍 l111=l[:] # 等同于copy行为(浅copy) print(l[:]) print(l[::-1]) # 快速把列表倒过来 print(len([1,2,3])) # 统计列表元素的个数 print('a' in l) print('a' not in l)
3.需要学习
l=['a','23','world'] l.count('a') print(l.count('a')) # 统计’a'在列表中出现了几次 print(l.index('a')) # 查找元素在列表中的索引,如果找不到运行结果会报错 l.clear() # 清楚列表的所有的元素 print(l) l.reverse() # 将列表倒过来 print(l) l.sort() # 默认从小到大排序(升序# ) 列表内的元素必须是同种类型的才可以排序(字符串可以比大小(按照ASCI码表的先后顺序区别字符串的大小)) l.sort(reverse=True) # 默认从大到小排序(降序) 列表内的元素必须是同种类型的才可以排序 # 列表之间也可以比大小
二、元组
就是“一个不可变的列表”;按照索引存放多个值,只用于取,不用于改(改变内存地址)。
定义:()内用逗号分隔开多个类型的元素。
t=(10,) # 如果元组中只有一个值要这样表示 print(t)
类型转换 (tuple)
按引索取值、切片、长度、循环 与列表一模一样
内置方法:
t=(12,23,14,4,'a','b') print(t.index(4)) # 找到元组中值按索引返回 print(t.count(4)) # 统计元组中的4 有几个
三、字典
使用key存多个字;用{}内用逗号分隔开key:value,其中value可以是任意类型,但是key必须是不可变类型,且不能重复。
dict={} # 默认出来的是一个空字典 d=dict(x=1,y=2,z=30) # 定义字典的其他方式,方式1 print(d) # {'x': 1, 'y': 2, 'z': 30}
# 方式2 A =[ ('name','ake'), ['age',18], ('money',1232) ] res=dict(A) print(res) #方式3 keys=['name','age','weight'] # 用列表中的字符串做字典的key d={}.fromkeys(keys,None) print(d)
内置方法(优先):
# 按key存取值 d={'key':111} # 赋值操作 d=['key']=212,#若key存在则修改,不存在则创建新的值 # 长度len d={'name':'jake','age':18,'weight':50} print(len(d)) in / not in d={'name':'jake','age':18,'weight':50} print('name'in d) print('name'not in d) # 删除 del d['name'] # 删除时要删除key d.pop('name') # 根据key删除,返回key对应的value d.popitem() # 随机删除,返回删除的key和对应的value
其他(需要):
d={'name':'jake'} d.clear() #清除字典 d.update({'name':'jake','age':18,'weight':50}) # 用新的字典覆盖原来的字典 d.get() # key存在,返回返回对应的value值;不存在,返回None。容错性更好 if 'age' in d: # 往字典里面添加key:value ... else: d['age']=18 print(d) d.setdefault('age',18) # 一行代码搞定上面的内容,(执行完成之后返回key对应的value) print(d)