1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
1 li = ['alex','eric','rain'] 2 a = '_'.join(li) 3 print(a)
2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。
li=["alec","aric","Alex","Tony","rain"]
tu=("alec","aric","Alex","Tony","rain")
dic={'k1':"alex",'k2':'aric',"k3":"Alex","k4":"Tony"}
3、写代码,有如下列表,按照要求实现每一个功能
li=['alex','eric','rain']
a.计算列表长度并输出
1 print(len(li))
b.列表中追加元素“seven”,并输出添加后的列表
1 li.append('seven') 2 print(li)
c.请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
li.insert(0,'Tony') print(li)
d.请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
li[1] = 'kelly' print(li)
e.请删除列表中的元素“eric”,并输出修改后的列表
1 li.remove('eric') 2 print(li)
f.请删除列表中的第2个元素,并输出删除元素的值和删除元素后的列表
1 print(li.pop(1)) 2 print(li)
g.请删除列表中的第3个元素,并输出删除元素后的列表
1 li.pop(2) 2 print(li)
h.请删除列表中的第2至4个元素,并输出删除元素后的列表
1 del li[1:4] 2 print(li)
i.请将列表所有的元素反转,并输出反转后的列表
li.reverse() print(li)
j.请使用for、len、range输出列表的索引
1 for i in range(len(li)): 2 print(i)
k.请使用enumrate输出列表元素和序号(序号从100开始)
1 for index,i in enumerate(li,100): 2 print(index,i)
l.请使用for循环输出列表的所有元素
for i in li : print(i)
4、写代码,有如下列表,请按照功能要求实现每一个功能
li=["hello",'seven',["mon",["h","kelly"],'all'],123,446]
a.请根据索引输出“Kelly”
print(li[2][1][1])
b.请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...
1 li[2][2] = 'All' 2 print(li)
5、写代码,有如下元组,按照要求实现每一个功能
tu=('alex','eric','rain')
a.计算元组长度并输出
print(len(tu))
b.获取元组的第2个元素,并输出
print(tu[1])
c.获取元组的第1-‐2个元素,并输出
print(tu[0:2])
d.请使用for输出元组的元素
for i in tu : print(i)
e.请使用for、len、range输出元组的索引
for i in range(len(tu)) : print(i)
g.请使用enumrate输出元祖元素和序号(序号从10开始)
for index,i in enumerate(tu,10) : print(index,i)
6、有如下变量,请实现要求的功能
tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
a.讲述元祖的特性
元祖与列表类似,不同的是元祖的元素不能修改。是有序的,不可改变的,元祖的值是可以被hash的
b.请问tu变量中的第一个元素“alex”是否可被修改?
不可以。
c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
k2对应的值是列表,可以修改。
tu=("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44]) tu[1][2]['k2'].append('seven') print(tu)
d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
k3对应的值是元祖,不可以修改。
7、字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
a.请循环输出所有的key
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} for i in dic : print(i)
b.请循环输出所有的value
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} for i in dic : print(dic[i])
c.请循环输出所有的key和value
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} for i in dic: print(i,dic[i])
d.请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} dic['k4'] = 'v4' print(dic)
e.请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} dic['k1'] = 'alex' print(dic)
f.请在k3对应的值中追加一个元素44,输出修改后的字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} dic['k3'].append('44') print(dic)
g.请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
dic={'k1':"v1","k2":"v2","k3":[11,22,33]} dic['k3'].insert(0,18) print(dic)
8、转换
a.将字符串s="alex"转换成列表
s = 'alex' a = list(s) print(a)
b.将字符串s="alex"转换成元祖
s = "alex" n1 = tuple(s) print(n1)
c.将列表li=["alex","seven"]转换成元组
li = ["alex","seven"] n1 = tuple(li) print(n1)
d.将元祖tu=('Alex',"seven")转换成列表
tu = ('Alex',"seven") n1 = list(tu) print(n1)
e.将列表li=["alex","seven"]转换成字典且字典的key按照10开始向后递增
1 li = ["alex","seven"] 2 n1 = {} 3 for k,v in enumerate(li,10): 4 n1[k] = v 5 print(n1)
9、元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
即:{'k1':大于66的所有值,'k2':小于66的所有值}
1 lis = [11,22,33,44,55,66,77,88,99,90] 2 lis.sort() 3 dic = {'k1':[],'k2':[]} 4 for i in lis : 5 if i > 66 : 6 dic['k1'].append(i) 7 if i < 66 : 8 dic['k2'].append(i) 9 print(dic)
10、输出商品列表,用户输入序号,显示用户选中的商品
商品li=["手机","电脑",'鼠标垫','游艇']
a.允许用户添加商品
b.用户输入序号显示内容
1 li = ['手机', '电脑', '鼠标垫', '游艇'] 2 3 exi = True 4 while exi : 5 6 print('--------商品列表---------') 7 8 for index,i in enumerate(li,1) : 9 print(index,i) 10 choice = input('是否添加商品?') 11 12 if choice == 'y' or choice == 'Y' or choice == 'yes' :#判断用户是否添加商品 13 choice1 = input('请输入添加商品:') 14 li.append(choice1)#将用户输入的商品添加到商品列表中 15 print(li) 16 17 elif choice == 'n' or choice == 'N' or choice == 'no' : 18 choice2 = input('是否查询商品') 19 if choice2 == 'y' or choice2 == 'Y' or choice2 == 'yes' :#判断用户是否查询商品 20 while True : 21 choice3 = input('请输入商品编号:') 22 if choice3.isdigit() :#如果用户输入的是编号 23 choice3 = int(choice3)#输入的变成数字 24 25 if choice3 > 0 and choice3 <= len(li) :#判断输入的是否在商品编号范围内 26 print(li[choice3-1])#列表是从1开始,所以需要减去1 27 28 elif choice3 > len(li) or choice3 <= 0 :#输入的数字不在商品编号范围内 29 print('输入错误,请重新输入') 30 31 elif choice3 == 'q' :#用户退出查询商品 32 break 33 34 else: 35 print('输入错误,请重新输入:') 36 37 elif choice == 'q' : 38 exi = False 39 40 else: 41 print('输入错误,请重新输入')
作业:三级菜单
1 menu = { 2 '北京':{ 3 '海淀':{ 4 '五道口':{ 5 'soho':{}, 6 '网易':{}, 7 'Google':{} 8 }, 9 '中关村':{ 10 '爱奇艺':{}, 11 '汽车之家':{}, 12 'youku':{}, 13 }, 14 '上地':{ 15 '百度':{}, 16 } 17 }, 18 '昌平':{ 19 '沙河':{ 20 '老男孩':{}, 21 '北航':{} 22 }, 23 '天通苑':{}, 24 '回龙观':{} 25 }, 26 '朝阳':{}, 27 '东城':{} 28 }, 29 '上海':{'闵行':{'人民广场':{'炸鸡店':{}}},'闸北':{'火车站':{'携程':{}}},'浦东':{},}, 30 '山东':{}, 31 } 32 first_layer = menu 33 layer = [] 34 exi = True 35 while exi : 36 for i in first_layer : 37 print(i) 38 choice = input('>>>').strip() 39 if not choice : 40 continue 41 elif choice in first_layer : 42 layer.append(first_layer) 43 first_layer = first_layer[choice] 44 elif choice == 'b' : 45 if len(layer) > 0 : 46 first_layer = layer.pop() 47 else: 48 print('已经是顶层') 49 elif choice == 'q' : 50 exi = False 51 else: 52 print('输入错误,请重新输入')