1.列表

1.1列表的含义:

​ 它是以[]括起来,每个元素用""引起来,用逗号隔开而且可以存放各种类型的数据。

li=["樊大爷",王立军","我",[1,3,5],"abc"]

1.2列表的作用

​ 列表不但可以存放不同类型的数据,而且还可以存放大量的数据。而且列表是有序的。可以按照你保存的顺序,有索引,可以方便取值。

2.1列表的索引和取片

2.1.1列表和字符串一样也有索引

li=["马化腾","马云","刘强东","李彦宏","雷军"]
print=li[0] ['马化腾']#获取第一个元素
print=li[1] ['马云'] li[2]="樊大爷" #列表是可以发⽣改变的. 这⾥和字符串不⼀样
print(li) s="王健林"
s[1]="帅" #字符串不允许发生改变
print(s)

2.1.2列表的切片

li=["马化腾","马云","刘强东","李彦宏","雷军"]
print(li[0:2]) ['马化腾','马云']
print(li[1:3]) ['马云','刘强东']
print(li[::2]) ['马化腾','刘强东','雷军']
print(li[-1:-3:-2]) ['雷军']

2.2 列表的增删改差

2.2.1 增

	列表(list)和字符串(str)是不一样的,所以列表可以在原来对象上进行操作
append(追加,添加,在末尾添加的操作。)			insert(可以指定位置插入{用索引})   extend 扩展,迭代添加
li = ["马化腾", "林俊杰", "周润发", "周芷若"]
li.append("樊大爷")
print(li) li = ["马化腾", "林俊杰", "周润发", "周芷若"]
li.insert(1,"张无忌") # 在1的位置插入张无忌. 原来的元素向后移动一位
print(li) li = ["王志文", "张⼀山", "苦海无涯"]
li.extend(["马化腾","马云"]) #在列表的最后面添加
print(li)

2.2.2 删

pop删除最后⼀一个,  remove删除指定元素,  clear清空list,  del切⽚片删除
li = ["马化腾", "王健林", "李嘉诚", "王富贵"]
li.pop() #默认删除最后一个
print(li)
li.pop(2) #删除2号元素
print(li) li = ["马化腾", "王健林", "李嘉诚", "王富贵"]
li.remove("王健林") #删除指定元素
print(li) li.clear() #清空list
print(li) del li[1:3] #切片删除
print(li)

2.2.3 修改

li = ["太白", "太黑", "五色", "银王", "日天"]
li[1] = "太污" # 把1号元素修改成太污
print(lst)
li[1:4:3] = ["麻花藤", "哇靠"] #切⽚片修改也可以. 如果步⻓长不不是1, 要注意元素的个数
print(li) #没结果
li[1:4] = ["李嘉诚"] # 如果切⽚没有步⻓或者步长是1. 则不⽤关⼼个数
print(li)

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

	for i in li:
print(i)

2.2.5其他操作

lst = ["太白", "太黑", "五色", "银王", "⽇天", "太白"]
c = lst.count("太白") # 查询太白出现的次数
print(c) lst = [1, 11, 22, 2]
lst.sort() # 排序. 默认升序
print(lst) lst.sort(reverse=True) # 降序
print(lst)

3.1列表的嵌套

采⽤用降维操作.⼀一层⼀一层的看就好.

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)

2.元组

2.1元组的含义

​ 俗称不可变的列表.⼜被成为只读列表, 元组也是python的基本数据类型之一, 用小括

号括起来, ⾥⾯可以放任何数据类型的数据, 查询可以. 循环也可以. 切片也可以. 但就是不能改.

tu=(1, "太白", "李白", "太黑", "怎么黑")
print(tu)
print(tu[0])
print(tu[2])
print(tu[2:5]) # 切片之后还是元组

2.2for遍历循环

​ for el in tu:

​ print(el)

2.3元组的嵌套

tu = (1,2,3,(4,5,6,[6,7,8,(9,11,10),"abc"],"ABC"))

print(tu[3][3][3][1])  11		

print(tu[-1][-2][-1]		abc

2.4其他

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

tu = (1,)
print(type(tu))

万恶之源-python加深的更多相关文章

  1. 万恶之源-python基本数据类型

    万恶之源-基本数据类型(dict) 本节主要内容: 字典的简单介绍 字典增删改查和其他操作 3. 字典的嵌套 ⼀一. 字典的简单介绍 字典(dict)是python中唯⼀一的⼀一个映射类型.他是以{ ...

  2. 万恶之源 - Python开发规范

    开发规范 什么是开发规范?为什么要有开发规范呢? 你现在包括之前写的一些程序,所谓的'项目',都是在一个py文件下完成的,代码量撑死也就几百行,你认为没问题,挺好.但是真正的后端开发的项目,系统等,少 ...

  3. 万恶之源 - Python文件操作

    文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...

  4. 万恶之源 - Python基础

    Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程 ...

  5. 万恶之源 - Python模块二

    shelve 我们之前学了json和pickle模块 这些都是序列化的模块,咱们进行在讲一个序列化的东西 叫做shelve 你们肯定有个疑问,这个东西和那个类似为什么要讲.是因为这个模块比较简单的,并 ...

  6. 万恶之源 - Python包的应用

    包的简介 你们听到的包,可不是女同胞疯狂喜欢的那个包,我们来看看这个是啥包 官方解释: Packages are a way of structuring Python’s module namesp ...

  7. 万恶之源 - Python模块一

    序列化 我们今天学习下序列化,什么是序列化呢? 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 为什么要有序列化模块: 比如,我们在python代码中计算的一个数据需要给另外一段程序使用 ...

  8. 万恶之源 - Python 自定义模块

    自定义模块 我们今天来学习一下自定义模块(也就是私人订制),我们要自定义模块,首先就要知道什么是模块啊 一个函数封装一个功能,比如现在有一个软件,不可能将所有程序都写入一个文件,所以咱们应该分文件,组 ...

  9. 万恶之源 - Python生成器

    生成器 首先我们来看看什么是个生成器,生成器本质就是迭代器 在python中有三种方式来获取生成器 1.通过生成器函数 2.通过各种推到式来实现生成器 3.通过数据的转换也可以获取生成器 首先,我们先 ...

随机推荐

  1. LeetCode刷题总结-递归篇

    递归是算法学习中很基本也很常用的一种方法,但是对于初学者来说比较难以理解(PS:难点在于不断调用自身,产生多个返回值,理不清其返回值的具体顺序,以及最终的返回值到底是哪一个?).因此,本文将选择Lee ...

  2. WPF中的文本度量

    关于WPF中的文本度量,需要了解以下几个问题: WPF中支持一些常用的度量单位:px(device independent pixels).in(inches).cm(centimeters).pt( ...

  3. SpringBoot学习(二)探究Springboot启动机制

    引言: SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏.所以这次博主就跟你们一起探究一下SpringBoot的启动原 ...

  4. 写了那么久的Python,你应该学会使用yield关键字了

    写过一段时间代码的同学,应该对这一句话深有体会:程序的时间利用率和空间利用率往往是矛盾的,可以用时间换空间,可以用空间换时间,但很难同时提高一个程序的时间利用率和空间利用率. 但如果你尝试使用生成器来 ...

  5. 将windows项目移植到linux上

    提要:由于项目使用java开发,移植中没有什么编译问题(移植很快,但小问题多) 1.移植过程中遇到的问题: (1).由于项目中使用了 1024以下的端口号,导致网络通信一直出错 原因:因为Linux要 ...

  6. 使用SQLserver Management Studio连接VS2012自带数据库

    下载 Microsoft® SQL Server® 2008 Management Studio Express http://www.microsoft.com/zh-CN/download/det ...

  7. OptimalSolution(2)--二叉树问题(2)BST、BBT、BSBT

    一.判断二叉树是否为平衡二叉树(时间复杂度O(N)) 平衡二叉树就是:要么是一棵空树,要么任何一个节点的左右子树高度差的绝对值不超过1. 解法:整个过程为二叉树的后序遍历.对任何一个节点node来说, ...

  8. fenby C语言 P33

    #include <stdio.h> int main(void){ char *ps="my dream is to be a programmer"; printf ...

  9. kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x

    1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭 ...

  10. Flask框架实现给视图函数增加装饰器操作示例

    在@app.route的情况下增加装饰器的写法: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...