03 python基础作业(一)

1.['alex','eric',’rain’]用下划线拼接成字符串。(['alex','eric',123]呢?)

1 li=['alex','eric','rain']
2 v='_'.join(li)
3 print(v)
View Code

当列表是字符串和数字组合时:

1 li=['alex','eric',123]    #先将数字转化为字符串。join()是字符串函数
2 li[2]=str(li[2])
3 v='_'.join(li)
4 print(v)
View Code

分析:join方法将字符串或者字符拼接,不能将数字和字符串拼接,故要先将列表的数字元素转化为字符串。列表元素修改直接索引方式赋值。

2.查找列表中的元素,移除每个元素的空格,并查找以a或A开头,并以c结尾的所有元素。

 1 li = ['alec', 'aric', 'Alex', 'Tony', 'rain']
 2 tu = ('alec', 'aric', 'Alex', 'Tony', 'rain')
 3 dic = {'k1':'alec', 'k2':'aric', 'k3':'Alex', 'k4':'Tony'}
 4 #移除空格 lstrip
 5 result=[]
 6 for item in li:
 7     if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
 8         result.append(item)
 9 print(result)
10 for item in tu:
11     if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
12         result.append(item)
13 print(result)
14 for item in dic.values():
15     if item[0]== 'a' or item[0]=='A' and item[-1]=='c':
16         result.append(item)
17 print(result)
View Code

解析:循环+if条件判断,生成空列表,将找到的元素用append方法加入。

3.写代码,有如下列表,按照每个功能实现:

li=['alex','eric',’rain’]
a.计算长度并输出
b.列表中追加元素’seven’,并输出添加后的列表。
c.请在列表的第一个位置插入元素’Tony’,并输出添加后的列表。
d.请修改列表的第二个位置的元素为’Kelly’,并输出添加后的列表。
e.请删除列表的元素’eric’,并输出修改后的列表。
f.请删除列表的第二个元素,并输出删除元素的值和删除元素后的列表。
g.请删除列表的第三个元素,并输出删除元素后的列表。
h.请删除列表的第二个至第四个元素,并输出删除元素后的列表。
i.请将列别所有的元素反转,并输出删除元素后的列表。
j.请使用for、len、range输出列表的索引
k.请使用enumerate输出列表元素和序号(序号从100开始)
l.请使用for循环输出列表所有元素
 1 li=['alex','eric','rain']
 2 # a.计算长度并输出
 3 v=len(li)
 4 print(v)
 5 # b.列表中追加元素’seven’,并输出添加后的列表。
 6 li.append('seven')
 7 print(li)
 8 # c.请在列表的第一个位置插入元素’Tony’,并输出添加后的列表。
 9 li.insert(0,'Tony')
10 print(li)
11 # d.请修改列表的第二个位置的元素为’Kelly’,并输出添加后的列表。
12 li[1]='Kelly'
13 print(li)
14 # e.请删除列表的元素’eric’,并输出修改后的列表。
15 del li[1]
16 print(li)
17 # f.请删除列表的第二个元素,并输出删除元素的值和删除元素后的列表。#pop()可以返回删除元素的值
18 v=li.pop(1)
19 print(v,li)
20 # j.请使用for、len、range输出列表的索引
21  li=['alex','eric','rain']
22 for i in range(len(li)):
23     print(i)
24 # k.请使用enumerate输出列表元素和序号(序号从100开始)   enumerate(sequence, [start=0])
25 li = ['alex', 'eric', 'rain']
26 # list(enumerate(li,start=100))
27 v=list(enumerate(li,start=100))
28 print(v)
29 # l.请使用for循环输出列表所有元素
30 li = ['alex', 'eric', 'rain']
31 for item in li:
32     print(item)
View Code

解析:len、索引、enumerate方法(有助于由列表生成字典)

4.写代码,有如下列表,请按照功能要求实现每一个功能

li=[‘hello’,’seven’,[‘mom’,[‘h’,’kelly’],’all’],123,446]

a.根据索引输出’Kelly’

b.使用索引找到’all’元素并将其修改为’ALL’

1 li=['hello','seven',['mom',['h','kelly'],'all'],123,446]
2 # v = li.capitalize(**li[2][1][1])
3 # v= li[2][1][1]
4 t=v.capitalize()   #capitalize(self)
5 print(t)
6 ###############b###############
7 v=li[2][2]
8 t=v.upper()
9 print(t)
View Code

解析:capitalize(self);upper()

6.tu=(‘alex’,[11,22,{‘k1’:’v1’,’k2’:[‘age’,’name’],’k3’:(11,22,33)},44]),请问tu变量中的’k2’对应什么类型?是否可以被修改?如果可以,请在其中添加一个元素’seven’

1 tu=('alex',[11,22,{'k1':'v1','k2':['age','name'],'k3':(11,22,33)},44])
2 tu[1][2]['k2'].append('seven')      #append()直接追加到self,不需要再赋值。
3 print(tu)
View Code

解析:元祖第一级元素不能修改;append

7.字典

 1 dic={'k1':'v1','k2':'v2','k3':[11,22,33]}
 2 #a.请循环输出所有的key
 3 for item in dic.keys():
 4     print(item)
 5 #b.请循环输出所有的value
 6 for item in dic.values():
 7     print(item)
 8 #c.请循环输出所有的key和value
 9 for item in dic.items():
10     print(item)
11 #d.请在字典中添加一个键值对,’k4’:’v4’,输出添加后的字典
12 dic.update({'k4':'v4'})
13 print(dic)
14 #e.请修改字典中’k1’对应的值为’alex’,输出修改后的字典
15 dic = {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33]}
16 dic['k1'] = 'alex'
17 print(dic)
18 #f.请在k3对应的值中追加一个元素44,输出修改后的字典
19 dic['k3'].append(44)
20 print(dic)
21 #g.请在k3对应的值的第一个位置插入元素18,输出修改后的字典
22 dic['k3'].insert(0,18)
23 print(dic)
View Code

解析:keys;values;items;update;索引

8.转换

 1 #a .将字符串s=‘alex’转换成列表
 2 s='alex'
 3 s=list(s)
 4 print(s)
 5 #b .将字符串s=‘alex’转换成元组
 6 s='alex'
 7 s=tuple(s)
 8 print(s)
 9 #c . 将列表li=[‘alex’,‘seven’]转换成元组
10 li=['alex','seven']
11 li=tuple(li)
12 print(li)
13 #d .将元组tu=(‘alex’,‘seven’)转换成列表
14 li=('alex','seven')
15 li=list(li)
16 print(li)
17 #e 将列表li=[‘alex’,‘seven’]转换成字典且字典的key按照10开始向后递增   #################################
18 li=['alex','seven']
19 dic = { }
20 for k,v in enumerate(li,start=10):
21     dic[k]=v
22 print(dic)
View Code

解析:enumerate(*,[start]=0);tuple;list;dict

9.元素分类

有如下值集合[11223344556677889990],将所有大于66的值保存在字典的第一个key中,将小于66的值保存至第二个key中。

即:{k1’:大于66的所有值,‘k2’:小于66的所有值}

1 li=[11,22,33,44,55,66,77,88,99,90]
2 dic={ 'k1':[],'k2':[]}
3 for item in li:
4     if item > 66:
5         dic['k1'].append(item)
6     if item < 66:
7         dic['k2'].append(item)
8 print(dic)
View Code

解析:1.初始dic的建立;2.append的用法。

10.输出商品列表,用户输入序号,显示用户选中的商品

商品li=[‘手机’,‘电脑’,‘鼠标垫’,‘游艇’]

a .允许用户添加商品

b . 用户输入序号显示内容

 1 li=['手机','电脑','鼠标垫','游艇']
 2 dic={}
 3 for k,v in enumerate(li,start=1):
 4     dic[k]=v
 5 print(dic)
 6 n=input("如果想添加商品请输入1,如果想显示内容请输入2:")
 7 n=int(n)
 8 if n==1:
 9     sp=input("请输入想添加的商品:")
10     dic.update({5:sp})
11     print(dic)
12 else:
13     nu=input('请输入1-5的序号:')
14     nu=int(nu)
15     v=dic.get(nu)
16     print(v)
17 print('-------end-------------')
View Code

 

 

猜你喜欢

转载自www.cnblogs.com/yangqing123/p/11668387.html
今日推荐