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

 

posted @ 2021-04-03 17:46  cheng4632  阅读(64)  评论(0编辑  收藏  举报