python27期day04:列表、元组、range、作业题。
1、for循环套for循环:
for i in "abc":
for x in "egf:
print(x)
结果是:e
g
f
e
g
f
e
g
f
2、99乘法表:
for m in range(1,10):
for n in range(1,m+1):
print('%s×%s=%s'%(m,n,m*n),end=' ')
print()
结果如下:
1×1=1
2×1=2 2×2=4
3×1=3 3×2=6 3×3=9
4×1=4 4×2=8 4×3=12 4×4=16
5×1=5 5×2=10 5×3=15 5×4=20 5×5=25
6×1=6 6×2=12 6×3=18 6×4=24 6×5=30 6×6=36
7×1=7 7×2=14 7×3=21 7×4=28 7×5=35 7×6=42 7×7=49
8×1=8 8×2=16 8×3=24 8×4=32 8×5=40 8×6=48 8×7=56 8×8=64
9×1=9 9×2=18 9×3=27 9×4=36 9×5=45 9×6=54 9×7=63 9×8=72 9×9=81
3、列表--Python中数据结构之一
lst = [1,"alex"] 每个元素用逗号分隔
列表的作用(容器):存储大量数据、存储不同数据类型的数据、每一个内容是一个元素。
4、append在末尾追加:
lst = ["python学习手册","核心编程"]
print(lst.append("流畅的python") #这是打印往书包里面增加书的动作
print(lst) #打印书包
5、图解如下:

6、insert插入:参数1是要插入位置的下标、参数2是要插入的内容、尽量少使用insert、
7、extend()扩展(迭代添加)、不能添加整型数字
8、remove通过元素名删除、从左向右、一次只能删除一个。
9、pop默认删除列表中最后一个并且有返回值、返回的内容是被删除的元素、通过索引pop(1)进行删除、
10、clear清空
11、del删除整个列表、加索引:del li[1:3]
12、修改图解:

13、使用切片时、获取的内容就是切片的原数据本身。
14、切片获取的内容空间是连续的时候、修改时内容可以多可以少。
15、切片获取的内容空间是不连续的时候、修改时内容必须一一对应。
16、列表是可变数据类型、可迭代数据类型、有序的数据结构。
17、列表嵌套
18、元组就是一个不可变的列表。
19、元组是一个有序、可迭代、不可变数据类型。
20、元组的应用场景:为了防止误操作时修改数据、元组中存放一些重要数据。
21、配置文件中存储数据。
22、range()范围、使用步长添加位置。
作业题:
#23、写代码,有如下列表,按照要求实现每一个功能
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
# 计算列表的长度并输出
print(len(li))
for i in li:
print(i)
# 列表中追加元素"seven",并输出添加后的列表
a = li.append("seven")
print(li)
# 请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li.insert(1,"Tony")
print(li)
# 请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li[2] = "Kelly"
print(li)
# 请将列表l2=[1,"a",3,4,"heart"]的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
l2=[1,"a",3,4,"heart"]
li.extend(l2)
print(li)
print(li.extend(l2))
# 请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
s = "qwert"
li.extend(s)
print(li)
# 请删除列表中的元素"ritian",并输出添加后的列表
li.remove("ritian")
print(li)
# 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
a = li.pop(1)
print(a)
print(li)
# 请删除列表中的第2至4个元素,并输出删除元素后的列表
del li[1:3]
print(li)
# 24、写代码,有如下列表,利用切片实现每一个功能
li = [1, 3, 2, "a", 4, "b", 5,"c"]
# 通过对li列表的切片形成新的列表l1,l1 = [1,3,2]
print(li[:3])
# 通过对li列表的切片形成新的列表l2,l2 = ["a",4,"b"]
print(li[3:6])
# 通过对li列表的切片形成新的列表l3,l3 = ["1,2,4,5]
print(li[::2])
# 通过对li列表的切片形成新的列表l4,l4 = [3,"a","b"]
print(li[1:7:2])
# 通过对li列表的切片形成新的列表l5,l5 = ["c"]
print(li[-1])
# 通过对li列表的切片形成新的列表l6,l6 = ["b","a",3]
print(li[-3::-2])
# 25、写代码,有如下列表,按照要求实现每一个功能。
lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, "1"]], 89], "ab", "adv"]
# 将列表lis中的"tt"变成大写(用两种方式)。
lis[3][2][1][0] = "TT"
print(lis)
# 将列表中的数字3变成字符串"100"(用两种方式)。
#第一种方式:
lis[1] = str(100)
print(lis)
print(type(lis[1]))
#第二种方式:
# lis[2][2][1][1] = str(lis[2][2][1][1] + 97)
# 将列表中的字符串"1"变成数字101(用两种方式)。
lis[3][2][1][2] = 101
print(lis)
# 26、请用代码实现:
li = ["alex", "wusir", "taibai"]
# 利用下划线将列表的每一个元素拼接成字符串"alex_wusir_taibai"
print("_".join(li))
# 27、利用for循环和range打印出下面列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
for i in range(len(li)):
print(i)
# 28、利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中。
li = []
for i in range(101):
if i % 2 == 0:
li.append(i)
print(li)
# 29、利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中。
#第一种写法:
lis = []
for i in range(0,50):
if i % 3 == 0:
lis.append(i)
print(lis)
#第二种写法:
lst = []
for i in range(0,50,3):
lst.append(i)
print(lst)
# 30、利用for循环和range从100~1,倒序打印。
for i in range(100,0,-1):
print(i)
# 31、利用for循环和range从100~10,倒序将所有的偶数添加到一个新列表中,然后对列表的元素进行筛选,将能被4整除的数留下来。
li1 = []
for i in range(100,9,-1):
if i % 2 == 0 and i % 4 == 0:
li1.append(i)
print(li1)
# 32、利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成*。
lis = []
index = 0
for i in range(30):
lis.append(i)
for i in lis:
if i % 3 == 0:
lis[index] = "*"
index += 1
print(lis)
# 33、查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾的所有元素,并添加到一个新列表中,最后循环打印这个新列表。
li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
#第一种写法先替换再添加:
lis = []
for j in li:
i = j.replace(" ","")
if (i.startswith("A") or i.startswith("a")) and i.endswith("c"):
lis.append(i)
print(lis)
#第二种写法先判断再去除空白添加:
for k in li:
if (k.strip().startswith("A") or k.strip().startswith("a")) and k.strip().endswith("c"):
lis.append(k.strip())
print(lis)
# 34、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:敏感词列表 li = ["老师苍", "东京比较热", "武兰", "波多"]、则将用户输入的内容中的敏感词汇替换成等长度的*(老师苍就替换***),并添加到一个列表中;如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
li = ["老师苍", "东京比较热", "武兰", "波多"]
lst = []
content = input("请输入内容:") #今天的东京比较热老师苍就去找波多一起打武兰
for i in li:
if i in content:
content = content.replace(i,len(i) * "**")
lst.append(content)
print(lst)
# 35、有如下列表(选做题)
li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
# 循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
#第一种写法函数式:
def task(li):
for i in li:
if type(i) != list:
print(i)
else:
task(i)
task(li)
#第二种写法isinstance判断:
for x in li:
if isinstance(x, list):
for y in x:
print(y)
else:
print(x)
#第三种写法:range和len
for y in range(len(li)):
if isinstance(li[y], list):
for z in li[y]:
print(z)
else:
print(li[y])
#第四种写法:for循环和if判断式
for i in li:
if type(i) == list:
for j in i:
if type(j) == str:
j = j.lower()
print(j)
else:
if type(i) == str:
i = i.lower()
print(i) #print缩进去只打印字符串、不缩进去打印字符串和数字
# 我想要的结果是:
# 1
# 3
# 4
# alex
# 3
# 7
# 8
# taibai
# 5
# ritian
#36、for循环最外层默认打印可迭代的最后一个元素
# for i in "abc":
# pass
# print(i)
python27期day04:列表、元组、range、作业题。的更多相关文章
- 巨蟒python全栈开发-第4天 列表&元组&range
今日内容大纲 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操 ...
- day04 python列表 元组 range()
day04 python 一.列表 1.什么是列表 列表是可变的数据类型: 和字符串不同, 做的操作直接改源数据 列表由[]来表示, 每项元素用逗号隔开.列表什么都能装,能装对象的 ...
- python笔记(1)--序列(列表 元组 range)
一.序列分类 1.可变序列:list 2.不可变序列:tuple,range 二.序列公共操作方法 1.操作和返回值 其中s和t代表同类型序列:n,i,j,k为整数:x为任意类型. 序号 操作 结果 ...
- 列表 元组 range
2019 年 7 月 9 日 列表---list------容器 列表:存储数据,支持多个数据类型,比如 :字符串 数字 布尔值 列表 集合 元组 特点 : 有序 可变 支持索引 (定义一个列表不 ...
- day04——列表、元组、range
day04 列表 列表--list 有序,可变,支持索引 列表:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表,集合,元组,字典,用逗号分割的是一个元素 id() :获取对象的内存地址 ...
- python27期day12:推导式、内置函数、高阶函数、匿名函数、作业题
1.推导式:做一些有规律的数据结构 列表推导式: 普通循环模式: [加工后的变量 for 循环] 示例一:print([i for i in range(1,51)]) 结果:[1, 2, 3, 4, ...
- 列表,元组以及range
列表,元组以及range 一.列表(list) 列表是数据类型之一,它有序,可变,支持索引 作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等 # 定义一个列表 lst = ['alex ...
- Python成长之路第二篇(2)_列表元组内置函数用法
列表元组内置函数用法list 元组的用法和列表相似就不一一介绍了 1)def append(self, p_object):将值添加到列表的最后 # real signature unknown; r ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
随机推荐
- springcloud源码分析(一)之采用redis实现注册中心
注册中心 在分布式架构中注册中心起到了管理各种服务功能包括服务的注册.发现.熔断.负载.降级等功能,在分布式架构中起到了不可替代的作用.常见的注册中心有eureka,zookeeper等等,在spri ...
- leetcode 410. 分割数组的最大值(二分法)
1. 题目描述 给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组.设计一个算法使得这 m 个子数组各自和的最大值最小. 注意: 数组长度 n 满足以下条件: 1 ≤ n ...
- 匿名函数和for_each用法
匿名函数,C++11的 for_each 用法 #include <iostream> #include <algorithm> #include "testClas ...
- LeetCode 733: 图像渲染 flood-fill
题目: 有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间. An image is represented by a 2-D array of int ...
- 三、ForkJoin分析
ForkJoin分析 一.ForkJoin ForkJoin是由JDK1.7后提供多线并发处理框架.ForkJoin的框架的基本思想是分而治之.什么是分而治之?分而治之就是将一个复杂的计算,按照设 ...
- win10怎么打开服务界面?
在键盘上同时点击“win+R”键弹出运行界面,输入services.msc,按确定. 这时就弹出了服务的界面,如图:
- 【题解】NOIP2016提高组 复赛
[题解]NOIP2016提高组 复赛 传送门: 玩具谜题 \(\text{[P1563]}\) 天天爱跑步 \(\text{[P1600]}\) 换教室 \(\text{[P1850]}\) 组合数问 ...
- Netty中的ChannelFuture和ChannelPromise
在Netty使用ChannelFuture和ChannelPromise进行异步操作的处理 这是官方给出的ChannelFutur描述 * | Completed successfully | * + ...
- vue入门案例
1.技术在迭代,有时候你为了生活没有办法,必须掌握一些新的技术,可能你不会或者没有时间造轮子,那么就先把利用轮子吧. <!DOCTYPE html> <html> <he ...
- 对try catch finally的理解
对try catch finally的理解1.finally 总是会运行的,即使在catch中thorw抛出异常了. 2.finally 在 return后没有结束,而是继续运行finally 2. ...