day04 列表
1.写代码,有如下列表,按照要求实现每⼀个功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
a. 计算列表的⻓度并输出
b. 列表中追加元素"seven",并输出添加后的列表
c. 请在列表的第1个位置插⼊元素"Tony",并输出添加后的列表
d. 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
e. 请将列表l2=[1,"a",3,4,"heart"]的每⼀个元素添加到列表li中,⼀⾏代码实现,不
允许循环添加。
f. 请将字符串s = "qwert"的每⼀个元素添加到列表li中,⼀⾏代码实现,不允许循
环添加。
g. 请删除列表中的元素"ritian",并输出添加后的列表
h. 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
i. 请删除列表中的第2⾄4个元素,并输出删除元素后的列表
j. 请将列表所有得元素反转,并输出反转后的列表
k. 请计算出"alex"元素在列表li中出现的次数,并输出该次数。
""" li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] """ li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] print(len(li)) li.append('abc') print(li) li.insert(0,'Andy') print(li) li.insert(1,'Bob') print(li) # extend 把参数中的每个元素 打散 添加到当前列表中 li.extend([1,"a",3,4,"heart"]) print(li) li.extend("qwert") print(li) li.pop(4) print(li) # 输出删除的元素 print(li.pop(1)) # 输出删除后的列表 print(li) del li[1:5] print(li) li.reverse() # change in place print(li) print(li.count('abc'))
2.写代码,有如下列表,利⽤切⽚实现每⼀个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
a. 通过对li列表的切⽚形成新的列表l1,l1 = [1,3,2]
b. 通过对li列表的切⽚形成新的列表l2,l2 = ["a",4,"b"]
c. 通过对li列表的切⽚形成新的列表l3,l3 = ["1,2,4,5]
d. 通过对li列表的切⽚形成新的列表l4,l4 = [3,"a","b"]
e. 通过对li列表的切⽚形成新的列表l5,l5 = ["c"]
f. 通过对li列表的切⽚形成新的列表l6,l6 = ["b","a",3]'''
li = [1, 3, 2, "a", 4, "b", 5,"c"] l1 = li[:3] print(l1) l2 = li[3:6] #长度 正好 序列多1 print(l2) l3 = li[::2] print(l3) l4 = li[1:-1:2] print(l4) l5 = li[-1:] #l5 = li[-1] #-----> c print(l5) l6 = li[-3:0:-2] print(l6)
3.写代码,有如下列表,按照要求实现每⼀个功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
a. 将列表lis中的"tt"变成⼤写(⽤两种⽅式)。
b. 将列表中的数字3变成字符串"100"(⽤两种⽅式)。
c. 将列表中的字符串"1"变成数字101(⽤两种⽅式)。"""
lis = [2, 3, "k", [ "qwe", 20, [ "k1", [ "tt", 3, "1" ] ], 89 ], "ab", "adv" ] lis[3][2][1][0] =lis[3][2][1][0].upper() lis[-3][-2][-1][-3]=lis[-3][-2][-1][-3].lower() # 两种方法第二三题 lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"] # a. 将列表lis中的"tt"变成⼤写(⽤两种⽅式)。 # b. 将列表中的数字3变成字符串"100"(⽤两种⽅式)。 # 方法一: print(lis[3][2][1][1]) lis[3][2][1][1] = '100' print(lis) # 方法二: lis[3][2][1][1] = str(lis[3][2][1][1] + 97) print(lis) # c. 将列表中的字符串"1"变成数字101(⽤两种⽅式)。
4.请⽤代码实现:
li = ["alex", "wusir", "taibai"]
利⽤下划线将列表的每⼀个元素拼接成字符串"alex_wusir_taibai""""
不是太懂
li = ["alex", "wusir", "taibai"] # 利⽤下划线将列表的每⼀个元素拼接成字符串"alex_wusir_taibai" print('_'.join(li))
5.利⽤for循环和range打印出下⾯列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] for l in range(len(li)): print(l)
6.利⽤for循环和range找出100以内所有的偶数并将这些偶数插⼊到⼀个新列表中。
new_lis = [] for I in range(100): if I % 2 == 0: new_lis.append(I) else: pass print(new_lis)
7.利⽤for循环和range 找出50以内能被3整除的数,并将这些数插⼊到⼀个新列表中。'''
new_lis = [] for I in range(50): if I % 3 == 0: new_lis.append(I) else: pass print(new_lis)
8.利⽤for循环和range从100~1,倒序打印。
for I in range(100, 0 , -1 ): print(I ,end=' ') print()
9.利⽤for循环和range从100~10,倒序将所有的偶数添加到⼀个新列表中,然后对列
表的元素进⾏筛选,将能被4整除的数留下来。
# 第9题的陷阱 列表的删除 会遗漏
# lst = [1,2,3,4]
# 从前往后删,如果删除列表中的元素,如果有连续两个
# 相同特性的 元素, 会有漏删的风险
# 解决方案 : 从后往前迭代
#1 new_lis1 = [] for I in range(100, 9 , -1 ): # 顾头不顾 if I %2 ==0 : new_lis1.append(I) print(I ,end=' ') b = [] for i in new_lis1: if i % 4 == 0: b.append(i) print(b) #2 new_lis1 = [] for I in range(100, 9 , -1 ): # 顾头不顾 if I %2 ==0 : if I % 4==0: new_lis1.append(I) print(I ,end=' ') # for x in lst: # if x%2 ==0 : # lst.remove(x) # print(lst) #3 lst = [1,2,2,3,4] index = len(lst) - 1 print("长度是:{}".format(len(lst))) while index > 0: # for lst in lst: if lst[index]%2 == 0: del lst[index] index -= 1 # 打印的变量好好看 别打印别的了 print(lst)
10.利⽤for循环和range,将1-30的数字⼀次添加到⼀个列表中,并循环这个列表,将
能被3整除的数改成*'''
print() new_lis2 = [] for i in range(1, 31): # 顾头不顾 new_lis2.append(i) print(new_lis2) new_lis3 = [] for a in new_lis2: if a % 3 ==0: a ='*' new_lis3.append(a) else: new_lis3.append(a) print(new_lis3) #老师的 lst = [] for x in range(1,31): lst.append(x) index = 0 while index < len(lst): if lst[index] % 3 == 0: lst[index] = '*' index += 1 print(lst)
'''11.查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾
的所有元素,并添加到⼀个新列表中,最后循环打印这个新列表。
if (s or s) and e:
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]''' li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"] print(li) lili = [] lilili = [] for l in li: l = l.strip() # l = l.capitalize() print(li) print(l) # print(l) lili.append(l) print(lili) if l.startswith('A') and l.endswith('c'): lilili.append(l) if l.startswith('a') and l.endswith('c'): lilili.append(l) print(lili) print(lilili)
12.开发敏感词语过滤程序,提示⽤户输⼊评论内容,如果⽤户输⼊的内容中包含特殊的
字符:
敏感词列表 li = ["苍⽼师", "东京热", "武藤兰", "波多野结⾐"]
则将⽤户输⼊的内容中的敏感词汇替换成等⻓度的*(苍⽼师就替换***),并添加到⼀
个列表中;如果⽤户输⼊的内容没有敏感词汇,则直接添加到上述的列表中。'''
while True: pinglun = [] neirong = input("请输入 评论内容:") print(type(neirong)) li = ["苍老师", "东京热", "武藤兰", "波多野结⾐"] for lis in li: if lis in neirong: print(lis) pinglun.append(lis) neirong = neirong.replace(lis,'*'*len(lis)) # neirong = neirong.replace(lis,'*') print(pinglun) print(neirong)
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 l in li: if type(l)==list: for lis in l : if type(lis) == str: lis = lis.lower() print(lis) else: print(lis) else: if type(l) == str: l = l.lower() print(l) else: print(l)