阅读目录

  1.列表的去嵌套

  2.元组

  3.range

列表的增删改查

  一,增:

    注意  list和str是不一样的,lst可以发生改变,所以直接就在原来的对象上进行可操作

  追加模式

 lst = ['麻花藤','林俊杰','周润发','周芷若']

 print(lst)

 lst.append('lfh')

 print(lst)

 结果:

 ['麻花藤', '林俊杰', '周润发', '周芷若']

 ['麻花藤', '林俊杰', '周润发', '周芷若', 'lfh']

练习

  输入用户信息,添加到列表中

 lst = []
while True:
content = input('请输入你要录入的员工信息,输入Q退出:')
if content.upper() == 'Q':
break
lst.append(content)
print(lst)

插入模式

lst = ['麻花藤','张忠德','孔德福']
lst.insert(1,'刘德华')
print(lst) 结果:
['麻花藤', '刘德华', '张忠德', '孔德福']

迭代添加

lst = ['王志文','张一山','苦海无涯']
lst.extend(['王健林','马云'])
print(lst) 结果: ['王志文', '张一山', '苦海无涯', '王健林', '马云']

练习:

写代码,有如下列表,按照要求实现每一个功能

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
计算列表的长度并输出
print(len(li))
结果:
5
列表中追加元素"seven",并输出添加后的列表
li.append('seven')
print(li)
结果:
['alex', 'wusir', 'ritian', 'Barry', 'wenzhou', 'seven']
请在列表的第1个位置插入元素"Tony",并输出添加后的列表
li.insert(0,'Tony')
print(li)
结果:
['Tony', 'alex', 'wusir', 'ritian', 'Barry', 'wenzhou']
请修改列表第2个位置的元素为"Kelly",并输出修改后的列表
li[1] = 'kelly'
print(li)
结果:
['alex', 'kelly', 'ritian', 'Barry', 'wenzhou']
请将字符串s = "qwert"的每一个元素添加到列表li中,一行代码实现,不允许循环添加。
s = 'qwert'
li.extend(s)
print(li)
结果:
['alex', 'wusir', 'ritian', 'Barry', 'wenzhou', 'q', 'w', 'e', 'r', 't']

remove  通过元素删除

lst = ['麻花藤','王健林','李嘉诚','王富贵']
lst.remove('王健林')
print(lst)
结果:
['麻花藤', '李嘉诚', '王富贵'] lst.remove('哈哈') #删除不存在的元素
print(lst)
结果:
lst.remove('哈哈') #删除不存在的元素
ValueError: list.remove(x): x not in list

clear   清空

lst = ['麻花藤','王健林','李嘉诚','王富贵']
lst.clear()
print(lst)
结果:
[]

练习

写代码,有如下列表,按照要求实现每一个功能

li = ['alex','wusir','ritian','barry','wenzhou']
# 请删除列表中的元素'ritian'并输出添加后的列表
li.remove('ritian')
print(li)
结果:
['alex', 'wusir', 'barry', 'wenzhou']
# 请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
li.pop(1)
print(li)
结果:
['alex', 'ritian', 'barry', 'wenzhou']
# 请删除列表中的第2至第4个元素,并输出删除元素的列表
del li[1:3]
print(li)
结果:
['alex', 'barry', 'wenzhou']

修改

索引切片修改

lst = ["太白", "太黑", "五色", "银王", "⽇天"]
lst[1] = "太污" # 把1号元素修改成太污 print(lst)
lst[1:4:3] = ["麻花藤", "哇靠"] # 切片修改也OK. 如果步长不是1, 要注意. 元素的个 数
print(lst)
lst[1:4] = ["我是哪个村的村长王富贵"] # 如果切片没有步长或者步长是1. 则不用关心个数
print(lst)

查询

列表是一个可迭代对象,所以可以进行for循环

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]

for i in lst:
print(i) 结果:
麻花藤
王剑林
李嘉诚
王富贵

练习

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
将列表li中第三个元素修改成'taibai'
li[2] = '太白'
print(li)
结果:
['alex', 'WuSir', '太白', 'barry', 'wenzhou']
将列表li中第四个元素修改成'女神'
li[3] = '女神'
print(li)
结果:
['alex', 'WuSir', 'ritian', '女神', 'wenzhou'] 将列表li中前三个元素修改成'alex1,alex2,alex3'
li[:3] = ['alex1,alex2,alex3']
print(li)
结果:
['alex1,alex2,alex3', 'barry', 'wenzhou']

其他操作

反转

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]

li.reverse()  # 把这个列表进行调转
print(li)
结果:
['wenzhou', 'barry', 'ritian', 'WuSir', 'alex']

排序

li = [1,2,3,4,84,5,2,8,2,11,88,2]
li.sort() # 升序 排序
print(li)
结果:
[1, 2, 2, 2, 2, 3, 4, 5, 8, 11, 84, 88]
li.sort(reverse=True) # 降序 排序
print(li)
结果:
[88, 84, 11, 8, 5, 4, 3, 2, 2, 2, 2, 1]

统计

li = [1,2,3,4,84,5,2,8,2,11,88,2]
num = li.count(3) # 统计元素3出现的次数,和字符串中功能一样
print(num)
结果:
1

通过元素获取下标

li = [1,2,3,4,84,5,2,8,2,11,88,2]
n = li.index(5)
print(n)
结果:
5

获取长度

li = [1,2,3,4,84,5,2,8,2,11,88,2]
print(len(li)) 结果:
12 

练习

li = [1,3,6,9,2,4,6,8]

1.将以上这个列表中进行反转
li.reverse()
print(li)
结果:
[8, 6, 4, 2, 9, 6, 3, 1]
2.将以上这个列表中进行降序排列
li.sort(reverse=True)
print(li)
结果:
[9, 8, 6, 6, 4, 3, 2, 1]
li = ["alex", "wusir", "taibai"]
利用下划线将列表的每一个元素拼接成字符串"alex_wusir_taibai" 
s = '_'.join(li)
print(s)
结果:
alex_wusir_taibai

列表的嵌套

注意:采用降维操作,一层一层的看就好(小技巧)

lst = [1,'太白','wusir',['麻花疼',['可口可乐'],'王健林']]

# 找到wusir
print(lst[2]) # 找到太白和wusir
print(lst[1:3]) # 找到太白的白字
print(lst[1][1]) # 将wusir拿到,然后首字母大写 在扔回去 s = lst[2]
s = s.capitalize()
lst[2] = s
print(lst) # 简写
lst[2] = lst[2].capitalize()
print(lst) # 把太白换成太黑
lst[1] = lst[1].replace('白','黑') # 把麻花疼换成麻花不疼
lst[3][0] = lst[3][0].replace('疼','不疼')
print(lst) # 在可口可乐后边添加一个雪碧
lst[3][1].append('雪碧')
print(lst)

练习

写代码,有如下列表,按照要求实现每一个功能

lis = [2, 3, "k", ["qwe", 20, ["k1", ["tt", 3, ""]], 89], "ab", "adv"]
将列表lis中的"tt"变成大写(用两种方式)。
1,
lis[3][2][1][0] = 'TT'
print(lis)
结果:
[2, 3, 'k', ['qwe', 20, ['k1', ['TT', 3, '']], 89], 'ab', 'adv']
2
lis[3][2][1][0] = lis[3][2][1][0].upper()
print(lis)
结果:
[2, 3, 'k', ['qwe', 20, ['k1', ['TT', 3, '']], 89], 'ab', 'adv']
将列表中的数字3变成字符串""(用两种方式)。
1
lis[3][2][1][1] = ''
print(lis)
结果:
[2, 3, 'k', ['qwe', 20, ['k1', ['tt', '', '']], 89], 'ab', 'adv']
2
lis[3][2][1][1] = str(lis[3][2][1][1] + 97)
print(lis)
结果:
[2, 3, 'k', ['qwe', 20, ['k1', ['tt', '', '']], 89], 'ab', 'adv']
将列表中的字符串""变成数字101(用两种方式)。
lis[3][2][1][-1] = lis[3][2][1][-1] + ''
print(lis)
结果:
[2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, '']], 89], 'ab', 'adv']
2
lis[3][2][1][-1] = str(int(lis[3][2][1][-1]) + 100)
print(lis)
结果:
[2, 3, 'k', ['qwe', 20, ['k1', ['tt', 3, '']], 89], 'ab', 'adv']

元组

元组:俗成不可变的列表,有被称为只读列表,元组也是python的基本数据类型之一,用小括号括起来,里面可以放任何数据尅性的数据,查询也可以,切片也可以,但就是不能改

tu = ('我','怎么','这么','可爱')

tu1 = tu[0]  # 记性下标
print(tu1) for i in tu:
print(i) # 进行for循环 tu2 = tu[0:3]
print(tu2) # 进行切片

tu[0] = '你'
print(tu)
结果:

Traceback (most recent call last):
File "F:/s17/day4/练习.py", line 137, in <module>
tu[0] = '你'
TypeError: 'tuple' object does not support item assignment

关于不可变,注意:这里元组的不可变啊的意思是子元素不可变,二子元素内部的子元素是可以变,这取决于子元素是否是可变对象

元组中如果只有一个元素,一定要添加一个逗号,否则就不是元组

tu = (1)
print(type(tu)) 结果:
<class 'int'>

元组嵌套

tu = ('今天姐姐不在家','姐夫和小姨子在客厅聊天',('姐夫问小姨子税后多少钱','小姨子说和姐夫还提钱'))
tu1 = tu[0]
tu2 = tu[1]
tu3 = tu[2][0]
tu4 = tu[2][1] print(tu1)
print(tu2)
print(tu3)
print(tu4) 结果:
今天姐姐不在家
姐夫和小姨子在客厅聊天
姐夫问小姨子税后多少钱
小姨子说和姐夫还提钱 

range

翻译过来就是范围,例如:

range(0,5,1)

参数第一个是范围的起始位置
参数第二个是范围的结束位置
参数第三个是步长 print(range(0,5))
# 结果:
range(0, 5) #一个范围 # 我们可以通过list方法来转换这个范围来查看一下
l = list(range(0,5))
print(l) # 结果:
[0, 1, 2, 3, 4] l = list(range(0,5,2))
print(l)
# 结果:
[0, 2, 4] # 这个结果就会发现和我之前用步长获取的内容是相识的,是的他就是步长

练习

li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
#利用for循环和range打印出下面列表的索引
for i in range(len(li)):
print(i,li[i])
结果:
0 alex
1 WuSir
2 ritian
3 barry
4 wenzhou 利用for循环和range找出100以内所有的偶数并将这些偶数插入到一个新列表中
for i in range(0,101,2):
print(i,end=' ')
结果:
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 98 100
利用for循环和range 找出50以内能被3整除的数,并将这些数插入到一个新列表中
for i in range(50):
if i % 3 == 0:
print(i,end=' ')
结果:
0 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48
利用for循环和range从100~1,倒序打印
for i in range(100,0,-1):
print(i,end=' ')
结果:
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 利用for循环和range,将1-30的数字一次添加到一个列表中,并循环这个列表,将能被3整除的数改成
lst = []
index = 0
for i in range(1,31):
lst.append(i)
for b in lst:
if b % 3 == 0:
lst[index] = '*'
index += 1
print(lst)
结果:
[1, 2, '*', 4, 5, '*', 7, 8, '*', 10, 11, '*', 13, 14, '*', 16, 17, '*', 19, 20, '*', 22, 23, '*', 25, 26, '*', 28, 29, '*']

    

python数据类型二的更多相关文章

  1. python基础3 ---python数据类型二

    ython基础 一.python数据类型     ------列表(list) 1.定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性:可存放多个不同类型的值:可修改指定索 ...

  2. python 数据类型二 (列表和元组)

    一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...

  3. python数据类型二(列表和元组)

    一.列表 1.1 列表的介绍 列表是python的基本数据类型之一,其他编程语言也有类似的数据类型,比如JS中的数组,java中的数组等等,它是以[]括起来,每个元素用逗号隔开,而且可以存放各种数据类 ...

  4. 万恶之源 - Python数据类型二

    列表 列表的介绍  列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型. 比如JS中的数 组, java中的数组等等. 它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各 ...

  5. python数据类型(二)

    跟着慕课网练习的,一些简单的知识点如下

  6. 二、Python数据类型(一)

    一.Python的基本输入与输出语句 (一)输出语句 print() 示例: print('你好,Python') print(4+5) a = 10 print(a) 输出的内容可以是字符串,变量, ...

  7. Python 数据类型常用的内置方法(二)

    目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...

  8. Python基础篇【第5篇】: Python内置模块(二)

    内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ...

  9. Python 基础 二

    Python 基础 二 今天对昨天学习的Python基础知识进行总结,学而不思则惘,思而不学则殆! 一.先对昨天学习的三大循环的使用情况进行总结: 1.while循环的本质就是让计算机在满足某一条件的 ...

随机推荐

  1. Python学习:4.运算符以及数据类型解析

    运算符 一.算数运算: 二.比较运算: 三.赋值运算 四.逻辑运算 五.成员运算 基本数据类型 一.Number(数字) Python3中支持int.float.bool.complex. 使用内置的 ...

  2. Go语言入门(一)特性、安装、环境搭建、第一个程序等

    Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性.谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮 ...

  3. 20154327 Exp3 免杀原理与实践

    实践内容 基础问题回答 (1)杀软是如何检测出恶意代码的? 杀毒软件主要靠特征码进行查杀,匹配到即为病毒. 还有通过云查杀,查看云端库中该文件是否属于恶意代码. 跟踪该程序运行起来是否存在恶意行为,来 ...

  4. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  5. BZOJ4300_绝世好题_KEY

    题目传送门 刚开始是看到这道题目还以为是序列连续的. 当然了,序列可以不连续. 设f[i]表示到第i位时的序列的最长长度. 取cnt=Max f[j]+1,然后转移回去使f[j]=cnt. 这是为了让 ...

  6. 成都Uber优步司机奖励政策(3月18日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. 长沙Uber优步司机奖励政策(12月28日到1月3日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  8. 移动onenet基础通信套件V1.08版本的AT指令测试

    1. 本次测试版本V1.08,AT+MIPLCREATE,首先需要一个配置文件.该指令创建一个基础通信套件的实例 2. 看下CGFID=2的配置,这个连接类型,UDP是1还是0?用户名和密码是什么?哪 ...

  9. android分析windowManager、window、viewGroup之间关系(一)

    本文将主要介绍addview方法,在windowManager.window.viewGroup中的实现原理.首先将介绍这些类结构关系,然后分析其内在联系,介绍实现原理,最后介绍重要的一个参数wind ...

  10. WEB中间件漏洞--IIS

    1.iis安装 版本 一直下一步,选上iis安装 端口修改 网站目录 通过网站发布目录(发布目录任意),新建index.html页面,可以正常访问 2.iis6.0解析漏洞 (1)文件名解析 IIS在 ...