python—基础练习2
1、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain']
li=['alex', 'eric', 'rain'] print('%s_%s_%s'%(l1[0],l1[1],l1[2]))
li=['alex','eric','rain'] n="_".join(li) print(n)
2、查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有元素。
li = ["alec", " aric", "Alex", "Tony", "rain"]
for i in li: n=i.strip() if( n.startswith('a') or n.startswith('A')) and n.endswith('c'): print(i)
tu = ("alec", " aric", "Alex", "Tony", "rain")
for i in tu; n=i.strip() if( n.startswith('a') or n.startswith('A')) and n.endswith('c'): print(i)
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
for i in dic: n=dic[i].strip() if( n.startswith('a') or n.startswith('A')) and n.endswith('c'): print(n)
3、写代码,有如下列表,按照要求实现每一个功能
li=['alex', 'eric', 'rain']
- 计算列表长度并输出
- 列表中追加元素“seven”,并输出添加后的列表
- 请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
- 请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
- 请删除列表中的元素“eric”,并输出修改后的列表
- 请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
- 请删除列表中的第3个元素,并输出删除元素后的列表
- 请删除列表中的第2至4个元素,并输出删除元素后的列表
- 请将列表所有的元素反转,并输出反转后的列表
- 请使用for、len、range输出列表的索引
- 请使用enumrate输出列表元素和序号(序号从100开始)
- 请使用for循环输出列表的所有元素
#计算列表长度并输出 l1=['alex', 'eric', 'rain'] print(len(l1)) #列表中追加元素“seven”,并输出添加后的列表 l1 = ['alex', 'eric', 'rain'] l1.append('seven') print(l1) #请在列表的第1个位置插入元素“Tony”,并输出添加后的列表 l1 = ['alex', 'eric', 'rain'] l1.insert(0,'Tony') print(l1) #请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表 l1 = ['alex', 'eric', 'rain'] l1[1]='Kelly' print(l1) #请删除列表中的元素“eric”,并输出修改后的列表 l1 = ['alex', 'eric', 'rain'] l1.remove('eric') print(l1) #请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表 l1 = ['alex', 'eric', 'rain'] popl1[2] print(l1) #请删除列表中的第3个元素,并输出删除元素后的列表 l1 = ['alex', 'eric', 'rain'] del l1[2] print(l1) #请删除列表中的第2至4个元素,并输出删除元素后的列表 l1 = ['alex', 'eric', 'rain'] del l1[1:4] print(l1) #请将列表所有的元素反转,并输出反转后的列表 l1 = ['alex', 'eric', 'rain'] l1.reverse() print(l1) #请使用for、len、range输出列表的索引 l1 = ['alex', 'eric', 'rain'] for i in range(len(l1)): print(i) #请使用enumrate输出列表元素和序号(序号从100开始) l1 = ['alex', 'eric', 'rain'] for k,v in enumerate(l1,100): print(k,v) #请使用for循环输出列表的所有元素 for i in l1: print(i)
4、写代码,有如下列表,请按照功能要求实现每一个功能
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
- 请根据索引输出“Kelly”
- 请使用索引找到'all'元素并将其修改为“ALL”,如:li[0][1][9]...
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446] # 请根据索引输出“Kelly” print(li[2][1][1]) # 请使用索引找到'all'元素并将其修改为“ALL” print(li[2][2]) li[2][2]='ALL' print(li)
5、写代码,有如下元组,请按照功能要求实现每一个功能
tu=('alex', 'eric', 'rain')
- 计算元组长度并输出
- 获取元组的第2个元素,并输出
- 获取元组的第1-2个元素,并输出
- 请使用for输出元组的元素
- 请使用for、len、range输出元组的索引
- 请使用enumrate输出元祖元素和序号(序号从10开始)
tu=('alex', 'eric', 'rain') # 计算元组长度并输出 print(len(tu)) # 获取元组的第2个元素,并输出 print(tu[1]) # 获取元组的第1 - 2个元素,并输出 print(tu[1:3]) # 请使用for输出元组的元素 for i in tu: print(i) # 请使用for、len、range输出元组的索引 for i in range(len(tu)): print(i) # 请使用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])
- 讲述元祖的特性
不能修改,及不可变,除此以外拥有列表的所有特性
- 请问tu变量中的第一个元素“alex”是否可被修改?
不可以
- 请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
#列表,可以 tu[1][2]['k2'].append('Seven') print(tu)
- 请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
#元组,不能修改 tu[1][2]["k3"].append("Seven") print(tu)
7、字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
- 请循环输出所有的key
- 请循环输出所有的value
- 请循环输出所有的key和value
- 请在字典中添加一个键值对,"k4": "v4",输出添加后的字典
- 请在修改字典中“k1”对应的值为“alex”,输出修改后的字典
- 请在k3对应的值中追加一个元素44,输出修改后的字典
- 请在k3对应的值的第1个位置插入个元素18,输出修改后的字典
#循环所有的key值 for k in dic:
print(k)
#循环所有的value值 for k in dic:
print(dic[k]) #循环输出所有的key 和value for k in dic: print(k,dic[k]) k1 v1 #执行结果 k2 v2 k3 [11, 22, 33] #添加键值对,'k4':'v4' dic['k4']='v4' {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}#执行结果 #修改k1对应的值为alex dic['k1']='alex' {'k1': 'alex', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}#执行结果 #k3对应的值添加一个元素44 dic['k3'].append(44) {'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33, 44], 'k4': 'v4'}#执行结果 #k3对应的值在第一个位置插入一个元素18 dic['k3'].insert(0,18) {'k1': 'v1', 'k2': 'v2', 'k3': [18, 11, 22, 33, 44], 'k4': 'v4'}#执行结果
8、转换
- 将字符串s = "alex"转换成列表
print(list(s)) ['a', 'l', 'e', 'x']#执行结果
- 将字符串s = "alex"转换成元祖
print(tuple(s)) ('a', 'l', 'e', 'x')#执行结果
- 将列表li = ["alex", "seven"]转换成元组
print(tuple(li)) ('alex', 'seven')#执行结果
- 将元祖tu = ('Alex', "seven")转换成列表
print(list(li))
['alex', 'seven']#执行结果
- 将列表li = ["alex", "seven"]转换成字典且字典的key按照10开始向后递增
li = ["alex","seven"] n1 = {} for k,v in enumerate(li,10): n1[k] = v print(n1) {10: 'alex'} #执行结果 {10: 'alex', 11: 'seven'}
9、元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中。
即:{'k1':大于66的所有值, 'k2':小于66的所有值}
k=[11,22,33,44,55,66,77,88,99,90] n1=[] n2=[] for i in k: if i<66: n1.append(i) else: n2.append(i) dic={'k1':n1,'k2':n2} print(dic) {'k1': [11, 22, 33, 44, 55], 'k2': [66, 77, 88, 99, 90]}#执行结果
10、输出商品列表,用户输入序号,显示用户选中的商品
商品li = ["手机", "电脑", '鼠标垫', '游艇']
- 允许用户添加商品
- 用户输入序号显示内容
li = ["手机", "电脑", '鼠标垫', '游艇'] print('商品列表'.center(20,'-'))
n1=input('是否添加商品?Y/y')
if n1=='y' or n1=='Y'
n2=input('请添加商品:')
li.append(n2) for index ,i in enumerate(li): print(index+1,i)
11、用户交互显示类似省市县N级联动的选择
- 允许用户增加内容
- 允许用户选择查看某一个级别内容
12、列举布尔值是False的所有值
None ,"" , () ,[] , {} ,0
3、有两个列表
l1 = [11,22,33]
l2 = [22,33,44]
- 获取内容相同的元素列表
for i in l1: if i in l2: print(i)
22 33
- 获取l1中有,l2中没有的元素列表
for i in l1: if i not in l2: print(i)
11
- 获取l2中有,l1中没有的元素列表
for i in l2: if i in l1: print(i)
44
- 获取l1和l2中内容都不同的元素
for i in l2: if i not in l1: print(i) for v in l1: if v not in l2: print(v)
44 11
14、利用For循环和range输出
- For循环从大到小输出1 - 100
for i in range(1,101): print(i)
- For循环从小到到输出100 - 1
for i in range(100,0,-1)
print(i)
- While循环从大到小输出1 - 100
while True: a=100 for i in range(100): print(a-i) break
- While循环从小到大输出100 - 1
while True: a=1 for i in range(100): print(a+i) break
15、利用for循环和range输出9 * 9乘法表
for i in range(1,10): for j in range(1,i+1): print(str(i)+"*"+str(j)+"="+str(i*j) ,end=' ') print()
16、求100以内的素数和。(编程题)
#质数又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数的数称为质数,如:2、3、5、7、11、13、17、19 num=[]; i=2 for i in range(2,100): j=2 for j in range(2,i): if(i%j==0): break else: num.append(i) print(sum(num))
17、将[1,3,2,7,6,23,41,24,33,85,56]从小到大排序(冒泡法)(编程)