4.列表和元组作业
1,写代码,有如下列表,按照要求实现每一个功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
1)计算列表的长度并输出
2)列表中追加元素"seven",并输出添加后的列表
3)请在列表的第1个位置插入元素"Tony",并输出添加后的列表
4)请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
5)请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
6)请将字符串串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
9)请删除列表中的第2⾄至4个元素,并输出删除元素后的列表
10)请将列列表所有得元素反转,并输出反转后的列表
11)请计算出"alex"元素在列表li中出现的次数,并输出该次数。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
print(len(li))
li.append("seven")
print(li)
li.insert(1,"Tony")
print(li)
li[1]="Kelly"
print(li)
l2=[1,"a",3,4,"heart"]
li.extend(l2)
print(li)
s = "qwert"
li.extend(s)
print(li)
print(li.pop(1))
print(li)
del li[1:4]
print(li)
li.reverse()
print(li)
print(li.count("alex"))
2,写代码,有如下列表,利用切片实现每一个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
1)通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
2)通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
3)通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
4)通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
5)通过对li列表的切片形成新的列表l5,l5 = ["c"]
6)通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
li = [1, 3, 2, "a", 4, "b", 5,"c"] print(li[:3]) print(li[3:6]) print(li[::2]) print(li[1:6:2]) print(li[-1::]) print(li[-3::-2])
3,写代码,有如下列表,按照要求实现每一个功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
1)将列表lis中的"tt"变成大写(用两种方式)。
2)将列表中的数字3变成字符串"100"(用两种方式)。
3)将列表中的字符串"1"变成数字101(用两种方式)。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
#1)将列表lis中的"tt"变成⼤写(⽤两种⽅式)。
lis[3][2][1][0] = lis[3][2][1][0].upper()
lis[3][2][1][0] = lis[3][2][1][0].replace("t", "T")
lis[3][2][1][0] = "TT"
lis[3][2][1][0] = lis[3][2][1][0].swapcase()
#2)将列表中的数字3变成字符串"100"(⽤两种⽅式)。
lis[3][2][1][1] = "100"
lis[3][2][1][1] = str(lis[3][2][1][1] + 97)
lis[1] = str(lis[1] + 97)
#3)将列表中的字符串"1"变成数字101(⽤两种⽅式)。
lis[3][2][1][2] = 101
lis[3][2][1][2] = int(lis[3][2][1][2]) + 100)
lis[3][2][1][2] = int(lis[3][2][1][2] + "01")
4,请用代码实现:
li = ["alex", "eric", "rain"] 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
li = ["alex", "eric", "rain"] # alex_eric_rain 1+2+3+4
s = ""
for item in li: # item 列表中的每一个名字
s += item + "_" # "alex_eric_rain_"
s = s[:-1]
print(s)
5.利用for循环和range打印出下面列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for i in range(len(li)):
print(i)
6.利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中。
lst = []
for i in range(100):
if i % 2 == 0:
lst.append(i)
print(lst)
7.利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中。
lst = []
for i in range(50):
if i % 3 == 0:
lst.append(i)
print(lst)
8.利用for循环和range从100~1,倒序打印。
for i in range(100, 0, -1):
print(i)
9.利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后对列表的元素进行筛选,将能被4整除的数留下来。
lst = []
for i in range(100, 9, -2):
if i % 4 == 0:
lst.append(i)
print(lst)
10,利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*。
lst = []
for i in range(1, 31):
lst.append(i)
for i in range(len(lst)):
if lst[i] % 3 == 0:
lst[i] = "*" # 修改成*
print(lst)
11,查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并 以"c"结尾的所有元素,并添加到一个新列表中,后循环打印这个新列表。
li = ["TaiBai ", “ale xC", “AbC ", "egon", " ri TiAn", "WuSir", " aqc"]
li = ["TaiBai ", "ale xC", "Abc ", "egon", " ri TiAn", "WuSir", " aqc"]
lst = []
for item in li:
# 去空格
content = item.replace(" ", "")
if (content.upper().startswith("A")) and content.endswith("c"):
lst.append(content)
print(lst)
12,开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中 包含特殊的字符:
敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"] 则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***),并添 加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
li = ["苍老师", "东京热", "武藤兰", "波多野结衣", "sb","dsb"]
concent = input("输入评论").strip()
for i in li: # i是每一个敏感词
if i in concent: #判断是否包含敏感词
concent = concent.replace(i,"*"*len(i)) #替换敏感词为*
print(concent)
13,有如下列表
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"] 循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。 我想要的结果是:
1
3
4
alex
3
7
8
taibai
5
ritian
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
for el in li: # 获取到第一层内容
if type(el) == list: # 判断元素是否是xxx数据类型
for item in el: # 循环内层列表
print(str(item).lower())
else:
print(str(el).lower())
14. 把班级学生数学考试成绩录入到一个列表中: 并求平均值要求: 录入的时候要带着人名录入,
例如: 张三_44
names = []
sum=0
while 1:
conter = input("请输入姓名_分数")
if conter.upper() == "Q":
break
else:
names.append(conter)
for i in names:
s = i.split("_")
sum += int(s[1])
print(sum / len(names))
15. 敲七游戏. 从0开始数. 遇到7或者7的倍数要在桌上敲一下. 编程来完成敲
s = []
conter = input("请输入数字:")
for i in range(1,int(conter)):
if i % 7 == 0 or str(7) in i:
i = "咣"
s.append(i)
else:
s.append(i)
print(s)
16. (升级题) 编写程序. 完成心动女生的筛选. (升级题)
首先. 程序会提示用户录入10位心仪女生的姓名. 然后把10位女生的名 字和序号展示出来. 由用户选择⼼心动女生. 此时用户可以选择3个心动女⽣生. 把用 户选中的三个心动女生的名字打印出来. 供用户继续选择. 这一次选择.只能选 择一名女生. 然后输出用户的心动女生是xxx 运行效果:
chuxuan_lst = []
for i in range(10):
name = input("请输入你的心动女生(还可以输入%s个):" % (10 - i))
chuxuan_lst.append(name)
# ['刘嘉玲', '林志玲', '安安', '小茹', '晓雪', '强哥', '胡辣汤', '宝宝', '萌萌', '磊磊']
print("您现在的心动女生有:")
for i in range(len(chuxuan_lst)):
print(i + 1, chuxuan_lst[i]) # 显示10个女生
# 从10个里面选择三个
fuxuan_list = []
for i in range(3):
bh = input("请输入你要选择的三个女生(还剩下%s个)" % (3-i))
# 编号还原回索引
index = int(bh) - 1
fuxuan_list.append(chuxuan_lst[index])
print("您现在经过初选之后剩下的心动女生:")
for i in range(len(fuxuan_list)):
print(i + 1, fuxuan_list[i])
bh = input("请从这三个女生中选择一个你最喜欢的:")
index = int(bh) - 1
print("您最终喜欢的女生是%s" % (fuxuan_list[index]))

浙公网安备 33010602011771号