19-3-5Python中列表、元组、以及range
一、列表:
为什么要学列表?
因为字符串存在缺点:
1) 只能存储少量的数据。
2) 数据类型无论索引、切片 获取的都是字符串类型,类型过于单一,转化成它原来的类型还需要进一步转换。
列表是Python的基础数据类型之一:list列表。
列表是以中括号组成,每个元素以逗号隔开的,容器型数据类型。
eg:[1,’zhao’,[1,2,3],Ture,{‘name’:’zhaoruofei’},(22,33)]
列表是一个有序的可以存储大量的数据的数据类型。
1、 列表的切片
l1 = ['赵若飞', 100, 'zhao', '日天'] 列表的切片、索引 ret=l1[0] ret1=l1[1] print(ret1,type(ret1)) print(type(l1[:3])) #类型为list。
2、 列表的常用操作
l1 = ['赵若飞', '赵若飞', 100, 'zhao', '日天', '你好', 999]
增:append 在尾部追加(只能单个追加)
l1.append('好好好') l1.append(23) l1.append([2,3,4]) print(l1)
insert 插入指定位置
l1.insert(1,'男') print(l1)
extend 迭代着追加,意为拆分开依次追加
l1.extend('zhao') l1.extend(['帮',555]) print(l1)
删:pop 按照索引删除,会将删除的元素作为返回值返回
ret=l1.pop(0) print(l1) print(ret)
remove 按照元素删除,没有返回值
ret = l1.remove('赵若飞') print(ret) print(l1)
clear 清空列表
l1.clear() print(l1)
del的使用:
按照索引删除
按照切片(可以加步长)删除
删除整个列表
del l1[-2] del l1[1:] del l1[::2] del l1 print(l1)
改:改某个元素
切片改
l1[0]='男神' print(l1)
切片(步长)改,必须与步长一一对应
l1[:3]='abcd' #迭代添加 print(l1) 切片(步长)改,必须与步长一一对应 l1[1:4:2]='a' l1[1:4:2]='a2' print(l1)
其他方法:
Len 获取列表的长度(总个数)
Count 计算某个元素出现的次数
Index 通过元素找到索引,找到第一个就返回,找不到就报错
Sort 从小到大排序
Sort(reverse=True) 从大到小排序
Reverse 反转,不排序
3、 列表的嵌套
练习:l1 = [1, 2, 'taibai', [1, 'alex', 3,]]
1, 将l1中的'taibai'变成大写并放回原处。2,给小列表[1,'alex',3,]追加一个元素,'老男孩教育'。3,将列表中的'alex'通过字符串拼接的方式在列表中变成'alexsb'
l1 = [1, 2, 'taibai', [1, 'alex', 3,]] l1[2]=l1[2].upper() print(l1) l1[3].append('老男孩教育') print(l1) l1[3][1]=l1[3][1]+'sb' print(l1)
4、 列表的总结:
Python常用的数据类型,工作中,都是涉及到嵌套的列表居多。增删改查。
5、 何时用列表:
需要大量数据排序的时候。
二、元组(只可以删除整个元组)
是Python中基础数据类型之一,容器型数据类型,存储大量的数据。
()里面的元素以,隔开的数据类型。
元组是不可以进行修改的,只能查询。
元组中存储的都是重要的数据,个人信息等等。
Eg:
tu1=(1,'alex',[1,2,3],True) #可索引可切片 print(tu1[1]) print(tu1[:3])
元组只能查询,不能更改
索引、切片(步长) 查询 、计算元素出现次数
三、Range(顾头不顾尾)
内置函数,python给你提供的一个功能。
将range视为:可控范围的数字列表。
Eg:
range(1,10) for I in range(1,10): print(i)
结果为1 2 3 4 5 6 7 8 9
Range多与for循环配合。
l1 = ['无sir', 'alex', '太白', 100, 5] for i in l1: print(l1.index(i)) for i in range(len(l1)): print(i)
练习:
1.如下:
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] a = len(li) print(a) li.append('seven') print(li) li.insert(0, 'Tony') print(li) li[1] = 'Kelly' print(li) l2 = [1, "a", 3, 4, "heart"] li.extend(l2) print(li) s = "qwert" li.extend(s) print(li) li.remove('ritian') print(li) ret = li.pop(1) print(li, ret) del li[1:4] print(li) li.reverse() print(li) print(li.count('alex'))
2.如下:
li = [1, 3, 2, "a", 4, "b", 5, "c"] l1 = li[0:3] print(l1) l2 = li[3:6] print(l2) l3 = li[::2] print(l3) l4 = li[1:-1:2] print(l4) l5 = li[-1] print(l5) l6 = li[-3:-8:-2] print(l6)
3.如下:
lis = [2, 3, "]], 89], "ab", "adv"] lis[3][2][1][0] = lis[3][2][1][0].upper() print(lis) lis[1] = ' lis[3][2][1][1] = ' print(lis) lis[3][2][1][2]=101 print(lis)
4.请⽤代码实现:
li = ["alex", "wusir", "taibai"] 利⽤下划线将列表的每⼀个元素拼接成字符串"alex_wusir_taibai"
li = ["alex", "wusir", "taibai"] li='_'.join(li) print(li[0]+'_'+li[1]+'_'+li[2]) print(li)
5.利⽤for循环和range打印出下⾯列表的索引。
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
li = ["alex", "WuSir", "ritian", "barry", "wenzhou"] for i in range(0,len(li)): print(i)
6.利⽤for循环和range找出100以内所有的偶数并将这些偶数插⼊到⼀个新列表中.
l = [] for i in range(1, 101): if i % 2 == 0: l.append(i) print(l)
7.利⽤for循环和range 找出50以内能被3整除的数,并将这些数插⼊到⼀个新列表中.
l = [] for i in range(1, 51): if i % 3 == 0: l.append(i) print(l)
8.利⽤for循环和range从100~1,倒序打印。
for i in range(100, 0, -1): print(i)
9.利⽤for循环和range从100~10,倒序将所有的偶数添加到⼀个新列表中,然后对列 表的元素进⾏筛选,将能被4整除的数留下来。
l = [] for i in range(100, 9, -1): if i % 2 == 0: l.append(i) for a in l: if a % 4 != 0: l.remove(a) print(l)
10.利⽤for循环和range,将1-30的数字⼀次添加到⼀个列表中,并循环这个列表,将 能被3整除的数改成*。
l = [] for i in range(1, 31): if i % 3 == 0: i = '*' l.append(i) print(l)
11.查找列表li中的元素,移除每个元素的空格,并找出以"A"或者"a"开头,并以"c"结尾 的所有元素,并添加到⼀个新列表中,最后循环打印这个新列表。 li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"]
l=[] li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"] for i in range(0,len(li)): li[i]=li[i].strip() if li[i][0]=='A' or li[i][0]=='a': if li[i][len(li[i])-1]=='c': l.append(li[i]) for i in l: print(i)
第二种方法:
l=[] li = ["TaiBai ", "alexC", "AbC ", "egon", " riTiAn", "WuSir", " aqc"] for i in li: i=i.strip() if i[0]=='a' or i[0]=='A': if i[len(i)-1]=='c': l.append(i) for i in l: print(i)
12.开发敏感词语过滤程序,提示⽤户输⼊评论内容,如果⽤户输⼊的内容中包含特殊的字符: 敏感词列表li = ["苍⽼师", "东京热", "武藤兰", "波多野结⾐"]则将⽤户输⼊的内容中的敏感词汇替换成等长度的*(苍⽼师就替换***),并添加到⼀个列表中;如果⽤户输⼊的内容没有敏感词汇,则直接添加到上述的列表中。
l = [] li = ["苍老师", "东京热", "武藤兰", "波多野结衣"] a = input('请输入评论:') for i in li: if i in a: a = a.replace(i, '*' * len(i)) l.append(a) print(l)
19-3-5Python中列表、元组、以及range的更多相关文章
- 列表,元组以及range
列表,元组以及range 一.列表(list) 列表是数据类型之一,它有序,可变,支持索引 作用:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表等 # 定义一个列表 lst = ['alex ...
- python中列表 元组 字典 集合的区别
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...
- **python中列表 元组 字典 集合
列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...
- python 中列表 元组 字典 集合的区别
先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...
- 列表 & 元组& join & range
一:列表(增删改查,列表的嵌套,列表的循环) 1)增加 append (在列表的尾部增加) insert (插入) insert(插入的位置,插入的内容) extend ...
- python中列表 元组 字符串如何互相转换
python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示: >>> s = "xxxxx ...
- python中列表元组字符串相互转换
python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示: >>> s = "xxxxx ...
- 巨蟒python全栈开发-第4天 列表&元组&range
今日内容大纲 1. 什么是列表 定义: 能装对象的对象 在python中使用[]来描述列表, 内部元素用逗号隔开. 对数据类型没有要求 列表存在索引和切片. 和字符串是一样的. 2. 相关的增删改查操 ...
- python中的基本数据类型之列表,元组
一.列表 1.什么是列表. 列表是python的基本数据类型之一,用[]来表示,可以存放各种数据类型(什么都能装,能装对象的对象) 列表相比于字符串,不仅可以存放不同类型的数据,而且可以存放大量的数据 ...
随机推荐
- 如何定位 Node.js 的内存泄漏
基础知识 Node.js 进程的内存管理,都是有 V8 自动处理的,包括内存分配和释放.那么 V8 什么时候会将内存释放呢? 在 V8 内部,会为程序中的所有变量构建一个图,来表示变量间的关联关系,当 ...
- tensorflow: a Implementation of rotation ops (旋转的函数实现方法)
tensorflow 旋转矩阵的函数实现方法 关键字: rot90, tensorflow 1. 背景 在做数据增强的操作过程中, 很多情况需要对图像旋转和平移等操作, 针对一些特殊的卷积(garbo ...
- 二十三、css如何实现锯齿形---border-image
css如何实现这样的样式: 解决方案: 这里需要用到的技术是border-image的灵活运用,首先需要一张图片,这里我选中的是这样子的,此后 的图片可以拿这个更改圆形的颜色以更改锯齿颜色: 底部透明 ...
- 一张图看懂CSS cascade, specific, importance, inheritance
http://www.w3.org/TR/CSS21/cascade.html#inheritance http://www.w3.org/TR/CSS21/cascade.html#cascade ...
- git internal for computer scientists
http://eagain.net/articles/git-for-computer-scientists/ git object storage仅仅是一个DAG of objects, 有几种类型 ...
- QT控件大小的方法
http://blog.csdn.net/liang19890820/article/details/51986284
- 学习的矩阵微积分The matrix calculus you need for deep learning
学习的矩阵微积分The matrix calculus you need for deep learning https://explained.ai/matrix-calculus/index.ht ...
- css3实现 两个点之间有一条线,循环运动
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Linux学习总结(十三)文本编辑器 vim
vim是vi的升级版,会根据文本属性带色彩显示,具体用法如下: 一般模式 : 1.光标定位: 左右移动一个字符, h l上下移动一个字符, k j左右下上 ,左右在两边,下上在中间这样记光标定位行首 ...
- javascript中数组的22种方法 (转载)
前面的话 数组总共有22种方法,本文将其分为对象继承方法.数组转换方法.栈和队列方法.数组排序方法.数组拼接方法.创建子数组方法.数组删改方法.数组位置方法.数组归并方法和数组迭代方法共10类来进行详 ...