python数据结构
'''python 有四种数据结构:列表、字典、元组、集合''' '''列表元素用方括号括起来[],字典和集合是花括号{},元组是圆括号()''' ''' 列表: 列表中每个元素都是可变的; 列表中元素是有序的; 列表可以容纳python任何对象 ''' '''列表的增删改查''' fruit=['pineapple','pear'] fruit.insert(1,'grape') #在pear前面插入grape #添加多个元素的方法:extend() fruit[0:0] = ['orange'] #和上面方法相同 fruit.remove('grape') #删除列表中的grape fruit[0]='grapefruit' #第一个元素替换为grapefruit del fruit[0:2] #删除元素 ''' 字典:键值对 字典中数据必须是以键值对的形式出现; 键不能重复,值可以重复; 键是不可变的,也无法修改,值可变可修改且可以是任何对象 ''' #字典的增删改查 nasdaq={'bidu':'baidu','SINA':'sina'} nasdaq['YOKU']='youku' #添加元素 nasdaq.update({'FB':'facebook','TSLA':'tesla'}) #添加多个元素 del nasdaq['FB'] #删除元素 #字典需要通过键来索引值 eg:nasdaq['TSLA'] ''' 元组(tuple) 可看作是稳固版的列表,元组不可修改 ''' letters=('a','b','c','d') letters[0] ''' 集合(set) 集合中元素是无序、不重复的任意对象,可以通过集合去判断数据的从属关系,可以通过集合把重复元素去掉 集合不能别切片也不能被索引 集合元素可以被添加和删除 ''' a_set={1,2,3,4,5} a_set.add(6) #添加元素 a_set.discard(6) #删除元素 #多重循环 #sorted函数按照顺序给每个列表中的元素排序,不会改变列表本身,返回新的列表 name_list=[3,4,2,5,7,1] sorted(name_list,reverse=True) #按照逆序排列 for a,b in zip(num,str): print(b,'is',a) #推倒式 a=[] for i in range(1,10): a.append(i) b=[i for i in range(1,10)] #两种方式等价 #理解:for前面的是我们想要放在列表中的元素,后面是for循环表达式 g={i:j.upper() for i,j in zip(range(1,6),'abcde') } #字典推倒式 #循环列表获取元素索引 litters=['a','b','c','d'] for num,letter in enumerate(letters): print(letter,'is',num+1)