05基本数据类型---列表
1、可变、有序,顺序表
创建列表
l = [0] * 10 # 即:l=[0 for i in range(10)]
2、sort()与sorted()
# 数据类型的成员方法是数据类型特有的,是以数据类型调用的方式使用,会修改原数据 # 内置函数多是通用型的操作,返回值是新的数据,但不会修改原数据,len(list)、sorted(list,key=) l = [ {'name': 'cc', 'age': 14}, {'name': 'dd', 'age': 22}, {'name': 'rr', 'age': 11}, ] l.sort(key=lambda item: item['age']) # L.sort(key=None, reverse=False) -> None,列表成员函数,返回None,原地修改,默认升序 print(l) l = sorted(l, key=lambda item: item['age'], reverse=True) #内置函数,返回值是一个修改后的列表,不会修改原列表,默认升序 print(l)
3、列表方法
append() | 在列表后添加新元素 |
extend() | 在列表后追加一个iterable的全部元素 |
insert() | 插入新元素 |
pop()、remove() | 删除元素 |
count() | 统计 |
index() | 查找 |
reverse() | 翻转列表 |
sort() | 排序 |
l = [2,3,4,1] l.append(5) # L.append(object) -> None -- append object to end print(l) # 与append()不同,extend()接收的是可迭代对象 l.extend((7,8,9))# L.extend(iterable) -> None -- extend list by appending elements from the iterable print(l) l.clear() # L.clear() -> None -- remove all items from L print(l) new_l = l.copy() # L.copy() -> list -- a shallow copy of L\ new2_l = l print(new_l) print(id(l)) #879929031112 print(id(new_l)) #879929031240 print(id(new2_l)) #879929031112 l.remove(2) # L.remove(value) -> None -- remove first occurrence of value. print(l) l.sort() # L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE* print(l) l.reverse() # L.reverse() -- reverse *IN PLACE* print(l) l.insert(1,9) # L.insert(index, object) -- insert object before index print(l) res = l.index(2) # L.index(value, [start, [stop]]) -> integer -- return first index of value print(res) res = l.pop(2) # L.pop([index]) -> item -- remove and return item at index (default last) print(res)
4、列表应用——堆栈(后进先出),,append()+pop()
# -*- coding:utf-8 -*- '''用列表处理歌曲名单,添加新元素时,添加在后面,删除元素时,从最后开始删除''' songn = [] while (1): newsong = input('Enter the name of song(if end,please enter -1):') if (newsong == '-1'): break else: songn.append(newsong) #only keep 5 songs while(len(songn)>5): songn.pop() print(songn)
5、列表应用——队列(先进先出),append()+pop(0)
# -*- coding:utf-8 -*- '''处理面试排队问题,添加新元素时,添加在后面,删除元素时,从前面开始删除''' iname=[] import time #add the interview name while(1): newname=input('Enter the name of waiting for the interview(if end,enter end):') if(newname=='end'): break else: iname.append(newname) #in front of the row of people to interview first while(len(iname)>0): name=iname.pop(0) print(name,'take the interview') time.sleep(5) #wait for 5 seconds