python 列表
作业易错题
"""
4.请用代码实现:
li = ["alex", "wusir", "taibai"]
利用下划线将列表的每一个元素拼接成字符串"alex_wusir_taibai"
"""
li = ["alex", "wusir", "taibai"]
# s = "" # "alex_wusir_taibai_" # ""+"alex"+"_ = "alex_" "alex_"+"wusir"+"_" "alex_wusir_" +"taibai"+"_"
# for i in li:
# s = s + i + "_"
# print(s[:-1])
# print("_".join(li)) # 拼接的符号.join(可迭代对象)
# 错误的示范
# print(str.join(li))
"""
9.利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后在对列表的元素进行筛选,将能被4整除的数留下来。
"""
# lst = []
# for i in range(100,9,-2):
# lst.append(i)
#
# for j in lst:
# if j % 4 != 0:
# lst.remove(j)
# print(lst)
"""
10.利用for循环和range,将1-30的数字中能被3整除的数改成* 依次添加到的列表当中
"""
# lst = []
# for i in range(1,31):
# if i % 3 == 0:
# lst.append("*")
# else:
# lst.append(i)
# print(lst)
"""
11.查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,
并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
"""
# li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
# lst = []
# for i in li:
# em = i.strip()
# if (em.startswith("A") or em.startswith("a")) and em.endswith("c"):
# lst.append(em)
# print(lst)
"""
12.开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
敏感词列表 li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
则将用户输入的内容中的敏感词汇替换成等长度的*(苍老师就替换***),
并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
"""
li = ["苍老师", "东京热", "武藤兰", "波多野结衣"]
# len()
# in
# if
# input()
# replace
# lst = []
# content = input("请输入内容:") # "苍老师真是厉害,教育了一代又一代,武藤兰也是一个狠人啊"
# for i in li:
# if i in content:
# content = content.replace(i,len(i) * "*") # em = "苍老师真是厉害,教育了一代又一代,***也是一个狠人啊"
# 有点坑
# lst.append(content)
# print(lst)
"""
13.有如下列表(选做题)
循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
我想要的结果是:
1
3
4
alex
3
7
8
taibai
5
ritian
"""
# li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
# for i in li:
# if type(i) == list:
# for em in i:
# if type(em) == str:
# print(em.lower())
# else:
# print(em)
# else:
# if type(i) == str:
# print(i.lower())
# else:
# print(i)
"""
14.用户输入一个数字,使用列表输出这个数字内的斐波那契数列,如下列表:(选做题)
用户输入100 输出[1,1,2,3,5,8,13,21,34,55,89]这个列表
"""
# lst = [1,1]
# num = input("请输入数字:") # 10
# if num.isdecimal():
# new_num = int(num)
# while lst[-1] + lst[-2] <= new_num:
# lst.append(lst[-1]+lst[-2])
# print(lst)
# else:
# print("请输数字!")
笔记总结
列表 -- list
有序,可变的,索引,
作用:存储数据的,支持很多种数据类型
定义方式:
lst = [1,"alex","黑哥"]
增:
append 追加
insert 插入
extend 迭代添加
删
del lst -- 删除整个列表
del lst[1:2] -- 切片删除
del lst[1:4:2] -- 步长删除
pop
1.默认删除最后一个
2.有返回值返回的是被删除的元素
3.通过索引进行删除
clear 清空列表
remove 通过元素进行删除
改
lst[0] = 1
lst[1:2] ="qaaa" # 元素可以超出切片的位数
lst[1:4:2] = "12" # 元素和位置一一对应,多也不行少也不行
查
for i in lst:
print(i)
列表的嵌套:
取值通过索引进行取值,一层一层的进行查找
2.元组 -- tuple
只能索引查看和for查看,不能进行增删改
存储一些重要的信息数据
元组是不可变的列表
3.range -- 范围
python3:
range 是一个可迭代对象
python2:
xrange和python3中的range是相似的
range返回一个列表
range 是顾头不顾尾
range(起始位置,终止位置) -- [起始位置:终止位置]
range(终止位置) -- [:终止位置]
range(起始位置,终止位置,步长) -- [起始位置:终止位置:步长]
for 和 range配合使用
面试题:
lst = []
for i in lst:
lst.append("alex")
print(lst) # 不会打印内容 因为lst是空的
lst = [1,2]
for i in lst:
lst.append("alex")
print(lst) # 循环打印lst中的内容 -- 此循环是死循环
lst = [1,2]
for i in lst:
lst.append("alex")
print(lst) # 死循环 -- 不会打印内容
lst = []
for i in range(5):
lst.append([])
print(lst) # [[],[],[],[],[]]
lst = [1,2]
lst[0] = lst
print(lst) # [[...],2]
做一篇有温度的技术博客
给人奋斗的热意
和生活的暖意