python基础学习笔记——列表及元组
列表
列表的介绍
列表是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基础学习笔记——列表及元组的更多相关文章
- python 基础学习3 列表和元组 、字符串
作为小白,坚持每日写学习记录,是督促坚持学习的动力, 今天主要是学习 列表和元组,列表是可以修改的,元组是不可变的.列表和元组的索引都是从0开始 列表可以修改, 可以对列表进行赋值,修改移除等各种方法 ...
- Python基础学习四 列表、元组、字典、集合
列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...
- python基础学习笔记——列表技巧
列表: 循环删除列表中的每⼀个元素 li = [, , , ] for e in li: li.remove(e) print(li) 结果: [, ] 分析原因: for的运⾏过程. 会有⼀个指针来 ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- python 基础学习笔记(3)--列表与元组
**本次笔记主要内容为 列表,元组主要的功能和特性** **1.列表**: 学习过c语言的同学应该知道,c语言有数组这一功能,就是将数据类型相同的元素放在一起.由于python的变量没有数据类型,也就 ...
- Python基础学习笔记(七)常用元组内置函数
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-tuples.html 3. http://www.liaoxue ...
- Python基础学习笔记(六)常用列表操作函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...
- Python 基础学习笔记(超详细版)
1.变量 python中变量很简单,不需要指定数据类型,直接使用等号定义就好.python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量,新的变量通过之前 ...
- python 基础学习笔记(6)--函数(2)
...
随机推荐
- 集合、迭代器、增强for循环、泛型
1集合 集合是java中提供的一种容器,可以用来存储多个数据. 数组的长度是固定的.集合的长度是可变的.集合中存储的元素必须是引用类型数据. 1.1ArrayList集合存储元素(复习) 例: pub ...
- Java连接数据库,增删改查
底层代码: package com.zdsoft; import java.sql.*; /** * Created by lx on 2017/6/22. */ public class JDBCU ...
- iOS开发 - Protocol协议及委托代理(Delegate)
因为Object-C是不支持多继承的,所以很多时候都是用Protocol(协议)来代替.Protocol(协议)只能定义公用的一套接口,但不能提供具体的实现方法.也就是说,它只告诉你要做什么,但具体怎 ...
- Python+selenium之测试报告(1)
一.下载HTMLTestRunner.py HTMLTestRunner 是 Python 标准库的 unittest 模块的一个扩展.它生成易于使用的 HTML 测试报告.HTMLTestRunne ...
- linux系统及服务安全(持续更新中)
linux安全 1.隐藏NGINX和PHP版本号 curl -I "http://www.xxx.com" //检测 nginx: http段加入server_tokens of ...
- JAVA-WEB总结02
1 什么是JavaBean?有何特征? 1)符合特定规则的类 2)JavaBean分二类: a)侠义的JavaBean .私有的字段(Field) .对私有字段提供存取方法(读写方法) ...
- 【Python图像特征的音乐序列生成】第一阶段的任务分配
从即日起到7月20号,项目成员进行了第一次任务分配. 赵同学A.岳同学.周同学,负责了图像数据的情感数据集制作,他们根据自己的经验,对图像进行了情绪提取. 赵同学B全权负责向量映射这一块的网络搭建. ...
- 感觉单链表是实现BCL ICollection 的最佳方式,所有操作都能以最小的时间复杂度完成
public interface ICollection<T> : IEnumerable<T>, IEnumerable { int Count { get; }// ...
- codeforce Gym 100500A Poetry Challenge(博弈,暴搜)
题解:状态压缩之后,暴力dfs,如果有一个选择,能让对手必败,那么就是必胜态,能转移到的状态都是对手的必胜态,或者无法转移,就是必败态. 总算是过了,TLE是因为状态没判重. #include< ...
- Android(java)学习笔记124:利用Service在后台播放背景音乐
1. 在android应用程序里,有一种没有UI的类(android.app.Service)——Service.简单来说,Service是一个 background process(背景程序),通过 ...