Day004作业

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:迭代着添加。

博文阅读密码felix
原文地址:https://www.cnblogs.com/Enzoo/p/9833293.html