python—列表,元组,字典
——列表:(中括号括起来;逗号分隔每个元素;列表中的元素可以是数字,字符串,列表,布尔值等等)
(列表元素可以被修改) list(类) (有序的)
【1】索引取值;切片取值;for循环;while循环
li=[1,2,"zhouyuan",["zhoutao",666],True]
print(li[4]) #索引取值
print(li[0:3]) #切片取值
(运行结果)
li=[1,12,9,"age",["周圆",["",10],"zhou"],"alex",True]
li[4][1][0]
#取字符串"19"
【2】列表元素的修改
li=[1,2,"age",["zhouyuan",666],false]
li[1]=888
print(li)
#运行结果:[1,888,"age",["zhouyuan",666],false]
切片修改
li=[1,2,3,4,50,60,7,8]
li[4:6]=[5,6]
print(li)
#运行结果:【1,2,3,4,5,6,7,8】
【3】列表元素的删除
li=[1,2,3]
del li[1]
print(li)
#运行结果:[1,3]
切片删除
li=[1,2,3,3,3,4,5,6]
del li[3:5]
print(li)
#运行结果: [1,2,3,4,5,6]
【4】字符串转换成列表
s="zhouyuan"
new_li=list(s)
print(new_li)
#运行结果:['z','h','o','u','y','u','a','n']
【5】列表转换成字符串(直接str的话会直接变成一个字符串里面是列表,通过for循环来实现列表内部元素拼接成字符串,如果列表里面都是字符串可以使用join来实现)
直接str转换:
li=[1,2,3]
r=str(li)
print(r)
#运行结果:[1,2,3]
使用for循环:
li=[1,2,3]
s=""
for i in li:
s=s+str(i)
print(s)
#运行结果:123
使用.join():
li=['','','']
v="".join(li)
print(v)
#运行结果:123
——列表中的一些常用方法:(参数) (对象.方法... 列表对象调用方法)
【1】在列表尾部增加元素 append()
li=[11,22,33,44]
li.append(55)
li.append("zhouyuan")
print(li)
#运行结果:[11,22,33,44,55,"zhouyuan"]
【2】清空列表 clear()
li=[11,22,33,44]
li.clear()
print(li)
#运行结果:[]
【3】赋值,拷贝(浅拷贝) copy()
li=[11,22,33,44]
v=li.copy() #拷贝一份,就会存在一份新的,用v来接收新列表
print(v)
#运行结果: [11,22,33,44]
【4】计算元素出现的次数 count()
li=[11,22,33,44,22,22]
v=li.count(22)
print(v)
#运行结果:3
【5】在原列表后添加新列表,扩展原列表 extend() [相当于内部执行for循环把扩展的新列表元素一个个增加到原列表中]
li=[11,22,33,44]
li.extend([9999,"zy"])
print(li)
#运行结果:[11,22,33,44,9999,"zy"]
li=[11,22,33,44]
li.extend("我真好看")
print(li)
#运行结果:[11,22,33,44,'我',‘真’,‘好’,‘看’] (执行了for循环)
【6】根据值找索引位置(最左优先) index()
li=[11,22,33,44]
v=li.index(22)
print(v)
#运行结果:1
【7】在指定索引位置插入元素 insert()
li=[11,22,33,44]
li.insert(0,00) #在第0个位置插入00
print(li)
#运行结果:[00,11,22,33,44]
【8】删除某个值,并可以获取当前值,默认为最后一个 pop()
li=[11,22,33,44]
v=li.pop()
print(v)
print(li)
#运行结果:44
# [11,22,33]
li=[11,22,33,44]
v=li.pop(3)
print(v)
print(li)
#运行结果:44
# [11,22,33]
【9】删除列表中的指定值,左边优先 remove()
li=[11,22,33,22,44]
li.remove(22)
print(li)
#运行结果:[11,33,22,44]
【10】将当前列表进行翻转 reverse()
li=[11,22,33,44]
li.reverse()
print(li)
#运行结果:[44,33,22,11]
【11】排序 sort()
li=[11,44,22,33,99]
li.sort()
print(li)
#运行结果:[11,22,33,44,99]
li.sort(reverse=True)
print(li)
#运行结果:[99,44,33,22,11]
——元组: (元素不可被修改,不能被增加或者删除,可以查看) tuple (有序的)
(用圆括号括起来,最后最好多加一个逗号来区别方法) (可以被for循环,可迭代对象)
【1】索引
tu=(11,"alex",("zy",666),[11,22,33,44],True,)
v=tu[0]
print(v)
#运行结果:11
【2】切片
tu=(11,22,33,44,)
v=tu[0:2]
print(v)
#运行结果:[11,22]
【3】字符串,列表,元组之间的转换
s="zhouyuan"
li=["zhou",9898]
tu=(123,321,"yuan")
#字符串转换成元组
v=tuple(s) #相当于执行了for循环
print(v) #运行结果:('z','h','o','u','y','u','a','n')
#列表转换成元组
u=tuple(li)
print(u) #运行结果:("zhou",9898)
#元组转换成列表
w=list(tu)
print(w) #运行结果:[123,321,"yuan"]
(对于元组也是可迭代对象,所以对于列表一些可迭代方法对于元组也适用)
——字典: (键值对,字典的value可以是任何值;字典的key不可以是列表,字典等可变的) #dict (花括号括起来,字典是无序)
【1】根据key来取value的值
info={"":"a","":"b","":"c"}
v=info[""]
print(v)
#运行结果:"b"
【2】删除某个键值对
info={"":"a","":"b","":"c"}
del info[""]
print(info)
#运行结果:{"1":"a","3":"c"}
【3】for循环(默认是key 进行for循环)
info={"":"a","":"b","":"c"}
for item in info:
print(item)
#运行结果:"1"
# "2"
# "3"
for i in info.values():
print(i)
#运行结果:"a"
# "b"
# "c"
for k,v in info.items():
print(k,v)
#运行结果:"1":"a"
# "2":"b"
# "3":"c"
——字典常用的方法:
【1】根据序列创建字典,并指定统一的值 fromkeys()
v=dict.fromkeys(["","",""],"周圆最美")
print(v)
(运行结果)
【2】删除字典的某个键值对 pop() popitem()[随机删除某个键值对]
dic={"":"a","":"b","":"c"}
v=dic.pop("")
print(dic,v)
(运行结果)
【3】设置值,如果已经存在获取当前key对应的值 setdefault()
dic={"k1":"v1","k2":"v2"}
v=dic.setdefault("k3":"v3")
print(dic,v)

dic={"k1":"a","k2":"b","k3":"c"}
dic.update({"k1":"a1","k4":"d"})
print(dic)
dic.update(k1=a2,k5=e) #python会自动转换成字典
print(dic)
(运行结果)
python—列表,元组,字典的更多相关文章
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- Python列表,元组,字典,序列,引用
1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...
- 【277】◀▶ Python 列表/元组/字典说明
目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...
- Python 列表,元组,字典
0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...
- Python 列表/元组/字典总结
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...
- Python列表,元组,字典,字符串方法笔记
01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...
- python 列表 元组 字典 集合
列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...
- Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
随机推荐
- Mockito如何mock一条链式调用
在写单元测试的时候,不免可能需要mock一些对象出来,并且mock一些方法调用去返回一个自己想要的对象.一般的使用是这样的: FinalPumpkin pumpkin = mock(FinalPump ...
- Android平台使用termux,随时随地写代码
生活如此无聊,写点代码打发时间. 趁着假期,我的vivo手机和华为平板(均为4G+64G配置)用的也比较少.于是,思考着如何将这2个设备用来写latex.python.用kingroot却取不了两设备 ...
- 初识Page Object
PageObject是UI自动化测试项目开发实践的最佳设计模式之一,它的主要特点体现在对界面交互细节的封装上,使测试用例更加专注于业务的操作,从而提高测试用例的可维护性. 1.认识Page Objec ...
- python之Python内置函数一览表
Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块. 如果你熟悉 Shell 编程,了解什么是 Shell 内置命令,那么你也很容易理解什么是 Python 内置函数 ...
- webpack+vue img的src问题
在vue中给图片添加路径试过三种方式: 1.在css的background中添加路径: 2.将路径写在data属性中,然后动态注入img标签的src属性: 3.在img标签中奖src属性写死 第三种方 ...
- zz 通过INFORMATION_SCHEMA.INNODB_TRX、INNODB_LOCKS、INNODB_LOCK_WAITS 三个表获取事务与锁的信息
zz from http://imysql.com/2015/03/25/mysql-faq-how-to-fetch-latest-trxid.shtml #先查询 INNODB_TRX 表,看看都 ...
- 疯狂VirtualBox实战讲学录 以及 virtualbox完全学习手册 之我见
都是是很专业,并钻石得很深的内容,但,有些事情是交替进行着的深入,太专注于VIRTUAL BOX就必要要牺牲其它的东西.
- eclipse Maven操作出现No compiler is provided in this environment.Perhaps you are running on a JRE rather than a JDK?
右键 pom.xml -> Run as -> Maven install 后出现类似如下错误: 解决方法: 1)选择项目后,点击 eclipse 导航栏中 [Window]-->[ ...
- 客服端负载均衡:Spring Cloud Ribbon
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具.服务间的调用,API网关的请求转发都是通过Ribbon实现的. 在微服务架构中使用客户端负载均衡需要两步: (1) ...
- [COCOS2DX-LUA]0-004.cocos2dx中的DrawNode的init的方法问题
1.诱因 近期,项目接入了Bugly, 上报了一些平常测试不出来,或者很难重现的bug,这类bug非常难排查.原因有二,第一,问题无法重现,第二,修改了无法立即验证结果.有一个问题困恼了我很久,就是一 ...