列表

列表的介绍 

  列表是python的基础数据类型之一 ,其他编程语言也有类似的数据类型.

列表的索引和切片

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

lst = ['刘德华','周润发','周杰伦','向华强']
print(lst[]) # 列表中第一个元素
print(lst[]) # 列表中第二个元素
print(lst[]) # 列表中第三个元素 注意:列表是可以进行修改的,这里和字符串不一样 lst[] = '王健林'
print(lst) s = '王思聪'
s[] = '李'
print(s) 结果:
Traceback (most recent call last):
File "D:/python_object/path2/test.py", line , in <module>
s[] = '李'
TypeError: 'str' object does not support item assignment

列表的切片:

lst = ["麻花藤", "王剑林", "马芸", "周鸿医", "向华强"]
print(lst[:]) # ['麻花藤', '王剑林', '马芸']
print(lst[:]) # ['麻花藤', '王剑林', '马芸']
print(lst[::]) # ['王剑林', '周鸿医'] 也有步长
print(lst[::-]) # ['马芸', '王剑林', '麻花藤'] 也可以倒着取
print(lst[-:-:-]) # 倒着带步长

 

列表的增删改查

1. 增

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

追加模式

lst = ["麻花藤", "林俊杰", "周润发", "周芷若"]
print(lst)
lst.append("wusir")
print(lst)

 

插入模式

lst = ["麻花藤", "张德忠", "孔德福"]
lst.insert(, "刘德华") # 在1的位置插入刘德华. 原来的元素向后移动一位
print(lst)

迭代添加

# 迭代添加
lst = ["王志文", "张一山", "苦海无涯"]
lst.extend(["麻花藤", "麻花不疼"])
print(lst)

2. 删除

pop 通过下标删除元素(默认删除最后一个)

lst = ["麻花藤", "王剑林林", "李李嘉诚", "王富贵"]
print(lst)
lst.pop() deleted = lst.pop()
print('被删除的',deleted)
print(lst) el = lst.pop() # 删除下标位2的元素
print(el) # 被删除的元素
print(lst)

remove 通过元素删除

lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
lst.remove('王剑林')
print(lst) 结果:
['麻花藤', '李嘉诚', '王富贵'] lst.remove('哈哈') # 删除不存在的元素
结果:
Traceback (most recent call last):
File "D:/python_object/path2/test.py", line , in <module>
lst.remove('哈哈') # 删除不存在的元素
ValueError: list.remove(x): x not in list

clear  清空

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

修改

索引切片修改

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

查询  

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

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

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

其他操作

反转

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

li.reverse()  # 把这个列表进行调转
print(li)

排序  

li = [,,,,,,,,,,,]
li.sort() # 升序 排序
print(li) li.sort(reverse=True) # 降序 排序
print(li)

统计

li = [,,,,,,,,,,,]
num = li.count() # 统计元素3出现的次数,和字符串中功能一样
print(num)

通过元素获取下标

li = [,,,,,,,,,,,]
n = li.index()
print(n)

获取长度

li = [,,,,,,,,,,,]
print(len(li)) 结果:
 

列表的嵌套

注意:采用降维操作,一层一层的看就好

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

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

元祖

元祖:俗称不可变的列表,又被成为只读列表,元祖也是python的基本数据类型之一,用小括号

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

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

tu1 = tu[]  # 记性下标
print(tu1) for i in tu:
print(i) # 进行for循环 tu2 = tu[:]
print(tu2) # 进行切片 结果:
Traceback (most recent call last):
File "D:/python_object/path2/test.py", line , in <module>
tu[] = '你'
NameError: name 'tu' is not defined

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

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

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

元祖嵌套  

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

python基础学习笔记——列表及元组的更多相关文章

  1. python 基础学习3 列表和元组 、字符串

    作为小白,坚持每日写学习记录,是督促坚持学习的动力, 今天主要是学习 列表和元组,列表是可以修改的,元组是不可变的.列表和元组的索引都是从0开始 列表可以修改, 可以对列表进行赋值,修改移除等各种方法 ...

  2. Python基础学习四 列表、元组、字典、集合

    列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...

  3. python基础学习笔记——列表技巧

    列表: 循环删除列表中的每⼀个元素 li = [, , , ] for e in li: li.remove(e) print(li) 结果: [, ] 分析原因: for的运⾏过程. 会有⼀个指针来 ...

  4. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  5. python 基础学习笔记(3)--列表与元组

    **本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...

  6. Python基础学习笔记(七)常用元组内置函数

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...

  7. Python基础学习笔记(六)常用列表操作函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...

  8. Python 基础学习笔记(超详细版)

    1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...

  9. python 基础学习笔记(6)--函数(2)

                                                                                                        ...

随机推荐

  1. Flat UI theme--扁平化的UI

    项目地址:点击打开 支持版本: jQuery Mobile 1.3.2 使用很简单,前提是你的前端是在jquery-mobile的基础上开发的,然后导入相应的css文件.img文件和js文件即可. 案 ...

  2. Java多线程常见问题

    1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用.而线程是在进程中执行的一个任务.Java运行环境是一个包含了不同的类和 ...

  3. 网站安全webshell扫描

    做个记录,使用Detector进行php网站webshell扫描 开源项目托管地址:https://github.com/emposha/PHP-Shell-Detector安装使用都很简单

  4. PWD简介与妙用(一个免费、随时可用的Docker实验室)

    转载自 https://baiyue.one/archives/472.html 本文介绍下 PWD 的历史,并依据本站最近学习心得,经过多次尝试,终于打通了 Docker 与常规宝塔面板搭建,因此, ...

  5. Python-OpenCV——Morphological Transformations(形态学转换)

    目标 这一节 我们将学习不同的形态学操作,如腐蚀.膨胀.开.闭...... 我们将看到不同的函数,如:cv2.erode().cv2.dilate().cv2.morphology() 理论 形态变换 ...

  6. 【PowerShell语音计算器】

    [PowerShell语音计算器]带中文发音功能的计算器程序,支持鼠标和小键盘输入,支持多种数值转人民币大写,如:123.4--->壹佰贰拾叁点肆圆. 版本号 1.51 下载:http://fi ...

  7. 剑指offer24 二叉搜索树的后序遍历序列

    自己写的更简洁的代码 class Solution { public: bool VerifySquenceOfBST(vector<int> sequence) { int length ...

  8. PSNR

    PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了.PSNR越高,压缩后失真越小.这里主要定义了两个值 ...

  9. composer安装laravel-u-editor及其使用

    前言  使用的框架是laravel5.1,是composer搭建的,可以直接配置composer,如果不是composer搭建的larave,需要先安装composer,具体安装发放可以参考compo ...

  10. ccf 201803-1 跳一跳(Python实现)

    一.原题 问题描述 试题编号: 201803-1 试题名称: 跳一跳 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 近来,跳一跳这款小游戏风靡全国,受到不少玩家的喜爱. 简化 ...