1,写代码,有如下列列表,按照要求实现每⼀一个功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
1)计算列表的长度并输出
print(len(li))
2)列表中追加元素"seven",并输出添加后的列表
li.append('seven')
print(li)
3)请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li.insert(1,"Tony")
print(li)
4)请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li[2] = "kelly or li[1] = "Kelly" # 第2个位置的索引为1
5)请将列表l2=[1,"a",3,4,"heart"]的每⼀一个元素添加到列表li中,一行代码实
现,不允许循环添加。
i in l2
li.extend(l2[i])
li.exten([1,"a",3,4,"heart"])
6)请将字符串s = "qwert"的每⼀一个元素添加到列列表li中,一⾏行代码实现,不
允许循环添加。
li.extend("qwert")
7)请删除列表中的元素"eric",并输出添加后的列表
li.remove('eric') print(li)
8)请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
li1 = li.pop(1)# 第2个元素的索引为1
print(li1)
li.pop(2)
print(li.pop(2),li)
9)请删除列表中的第2至4个元素,并输出删除元素后的列表
del li[1:4] #第2至 4 元素的索引分别为 1,4
10)请将列表所有得元素反转,并输出反转后的列表
li.reverse() print(li)
11)请计算出"alex"元素在列列表li中出现的次数,并输出该次数。
li.count("alex") print(li.count("alex")
2,写代码,有如下列列表,利利⽤用切片实现每一个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
1)通过对li列表的切⽚片形成新的列表l1,l1 = [1,3,2]
li[0:3]
print(li) # 输出切片后的结果
2)通过对li列表的切⽚片形成新的列表l2,l2 = ["a",4,"b"]
li[3:6]
print(li[3:6]
3)通过对li列表的切⽚片形成新的列表l3,l3 = ["1,2,4,5]
l3 = [1,2,4,5]
l3 =li[0:7:2] 或者li{::2] print(l3)
del li[::2] #切片 一共八个字符,或者del li[1:7:2]
4)通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
l4 = li[1:6:2]
print(l4)
# 方法2
del li[1:6:2]
li.pop()### 将最后一位切除, 然后剩下7位元素
del li[::2]# 正向进行每两位进行切割,3,“a" "b"
5)通过对li列表的切片形成新的列表l5,l5 = ["c"]
l5 = li[-1] print[l5]
del li [-1] print(li)
6)通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
l6 = li[-3::-2]
print(l6)
del li[-8:-3:2] li.reverse() print(li)
3,写代码,有如下列列表,按照要求实现每⼀一个功能。
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] = "TT"
lis[3][2][1][0] = lis[3][2][1][0].replace("t","T")
lis.pop(3)
lis.insert(3,["qwe", 20, ["k1", ["TT", 3, "1"]])
2)将列表中的数字3变成字符串"100"(用两种方式)。
lis[3][2][1][1] = "100"
@2 lis[3][2][1][1] = str(lis[3][2][1][1]+97) # str 内部做运算得100 变成字符串string
@3 lis[3][2][1][1] = str(lis[3][2][1][1].replace("3","100")
@ 4投机做法, 直接把列表替换为要求给的列表
lis.pop(3)
lis.insert(3,["qwe", 20, ["k1", ["tt", '100', "1"]], 89]) # 投机
3)将列表中的字符串"1"变成数字101(用两种方式)。
lis[3][2][1][2] = 101
print(lis)
lis[3][2][1][2] = int(lis[3][2][1][2]+"01") # int 内部字符串拼接
# lis[3][2][1][2] = 101
# lis[3][2][1][2] = int(lis[3][2][1][2].replace("1", "101")) # 替换
# print(lis.index(["qwe", 20, ["k1", ["tt", 3, "1"]], 89]))
#方法2,先删除对应字段,然后再insert一个字,
lis.pop(3)
print(lis)
lis.insert(3,["k1", ["tt", 3, 101]])
print(lis)
4,请用代码实现:
li = ["alex", "eric", "rain"]
利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"
# 考点 让用循环取出 li[] 中的元素,然后再添加_ .
方式一: 利用for 循环解答
s = " "
for i in li :
s += i +"_"
print(s)
print(s.strip("_") # 去掉末尾的_
print("{}_{}_{}".format(li[0],li[1],li[2])) 或者print("%s_%s_%s" %(li[0],li[1],li[2]))
5.利用for循环和range打印出下面列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 把索引和索引的内容都打印出来
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for i in range(len(li)):
#i是索引
#li(i) 是元素
print(i,str(li[i]))
6.利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表
中。(两种方法)
ln = []
for i in range(101)
#print(i) # 打印出0-100
if i % 2 == 0: # 打印出 0-99 中的偶数
#print(i)
ln.append(i)
print(ln)
方案二:
ln = []
for i in range(0.101,2) # 利用for循环加上步长
ln.append(i)
print(ln)
7.利用for循环和range 找出50以内能被3整除的数,并将这些数插入到⼀一个新列
表中。
a =[]
for i in range(50):
if i % 3 == 0:
# print(i)
a.append(i)
print(a)
8.利用for循环和range从100~1,倒序打印。
# 利用for循环和range从100~1,倒序打印
a = []
for i in range(100):
a.append(i)
print(a)
# a.reverse()
# print(a)
a.sort(reverse=True)
print(a)
# 方法2
9.利用for循环和range从100~10,倒序将所有的偶数添加到⼀一个新列列表中,然
后对列列表的元素进⾏行行筛选,将能被4整除的数留留下来。
L = []
for a in range(10,100):
if a % 2 == 0:
# a = a+2
# print(a)
L.append(a)
# print(L) # 从10 -100 打印出所有的偶数 组成一个列表
L.reverse()
# print(L)
M = []
for b in L:
if b % 4 == 0:
# print(b)
M.append(b)
print(M)
10,利用for循环和range,将1-30的数字一次添加到⼀一个列表中,并循环这个
列表,将能被3整除的数改成*。
#思路, 能被3整除,不能被3整除,两种情况都要打印出来结果
ln = []
for i in range(1,31): # 先取出迭代变量, 赋值,
if i % 3 == 0: # 然后判断是否被3 整除
# pass
ln.append("*") # 被3整除,标记* ln.append("*")
else: # 不被3整除,
ln.append(i) # 迭代添加到list》ln的最后组成列表。
print(ln) # 最终打印出满足这两个循环条件的 列表
#方法二:
for i in range(30,0,-3)
ln.append(i)
print(ln)
11,查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并
以"c"结尾的所有元素,并添加到⼀一个新列表中,最后循环打印这个新列表。
li = ["TaiBai ", “ale xC", “AbC ", "egon", " ri TiAn", "WuSir", " aqc"]
# lst = []
#
# for el in li:
# el = el.replace(" ", "")
# if el.capitalize().startswith("A") and el.endswith("c"):
# lst.append(el)
# print(lst)
12,开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中
包含特殊的字符:
敏感词列表 li = ["苍⽼老老师", "东京热", "武藤兰", "波多野结⾐衣"]
则将用户输⼊入的内容中的敏敏感词汇替换成等⻓长度的*(苍⽼老老师就替换***),并添
加到⼀一个列表中;如果用户输⼊入的内容没有敏敏感词汇,则直接添加到上述的列
表中。
# lst = []
# li = ["苍⽼师", "东京热", "武藤兰", "波多野结衣"]
#
# content = input("请输入你的评论:")
# for el in li:
# if el in content:
# content = content.replace(el,"*"*len(el))
# lst.append(content)
#
# print(lst)
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:
print(el.lower())
else:
#pass
for el1 in el:
if type(el1) == str:
print(el1.lower())
else:
print(el1)
方法二:
for el in li:
# if type(el) == list: # 百度, 谷歌, stackoverflow
# for el2 in el:
# if type(el2) == str:
# print(el2.lower())
# else:
# print(el2)
# else:
# if type(el) == str:
# print(el.lower())
# else:
# print(el)
14. 把班级学生数学考试成绩录入到一个列表中: 并求平均值. 要求: 录入的时候要带着人名录入, 例如: 张三_44
lst = [ ]
while 1:
content = input("输入学生信息,Q退出:")
if content.upper() == "q":
break
lst.append(content.upper())
print(lst)
15. 敲七游戏. 从0开始数数. 遇到7或者7的倍数要在桌上敲一下. 编程来完成敲七 ,敲完后输出一个列表.
lst = []
n = int (input("请输入一个数:")
for num in range(0,n):
if i % 7 == 0:
lst.append("咣”)
else:
lst.append(i)
print(lst)
16. (升级题) 编写程序. 完成心动女生的筛选. (升级题)
首先. 程序会提示用户录入10位心仪女生的姓名. 然后把10位女生的名
字和序号展示出来. 由用户选择心动女生. 此时⽤用户可以选择3个心动女生. 把用
户选中的三个心动女生的名字打印出来. 供用户继续选择. 这一次选择. 只能选
择一名女生. 然后输出用户的心动女生是xxx
运行效果:
明日默写内容
1,将列表的增删改查不不同的方法全部写出来,
例如:增:有三种,append:在后面添加。Insert按照索引添加,
extend:迭代着添加。