python学习之列表,元祖,字典
python基础
列表 [ ]
stats =[1,2,3,4,5]
元素1,2,3,4,5
下标,索引,角标,初始从0开始
增加
stats.append(7)#append方法添加
stats.insert(6,"你好")#insert方法在指定位置添加
删除
stats.pop()#默认使用pop方法删除最后一个元素
stats.pop(1)#pop方法传一个指定下标删除元素,如果删除不存在元素会报错
stats.remove("aa")#remove方法传一个指定元素删除,如果有多个同样元素只会删除第一个
del stats[-1]#指定下标删除,-1表示最后一个元素
stats.clear()#clear方法清空list
#方式一:
#循环删list会导致下标错乱,最好新建一个一模一样的list
list1 = [1,2,3,4,5]
list2 = [1,2,3,4,5] #也可以用这种方式 list1=list[:]浅拷贝; 切记不能用list1=list2=[1,2,3,4,5]深拷贝,其内存地址一样会出错
for i in list2:
if i%2 !=0:
list1.remove(i)
print(list1) #方式二:
#倒着取下标就不会错乱了
list1 = [1,2,3,4,5]
for i in range(len(list1),-1,-1): #len(list1)-1:取0-5 -1:一直到-1 -1:步长为-1倒着取
print(i)
if i % 2 != 0:
list1.remove(i)
print(list1)
修改
stats[6]='aa'#查找下标直接修改赋值
查看
print(stats[0])#直接查询下标取值
stats.count(“aaa”)#用count方法查询某个元素,来查看其元素出现的次数,如果不存在返回0
stats.index(“aaa”)#用index方法查找元素下标,不存在报错
内置方法
stats.reverse()#用reverse方法翻转list,没有返回值
stats.sort()#sort方法从小到大升序,最好全部数字,不然会报错
stats.sort(reverse=True)#降序
stats.extend(stats1)#把方法中的list加入到stats中,合并
new_list = stats+stats1#合并,左前右后添加
new_list = list_new * 3 #复制
list与if应用
if usename in users #in判断一个元素在不在username里面,不在里面就是not in
list与for应用
password = [1,2,3,4,5]
for p in passwords #for循环一个list,循环就是每次取list的值
for p,p1 in enumerate(passwords) #enumerate()枚举函数 显示下标和具体值
for q, a in zip(questions, answers) #遍历两个元素,同时进行遍历注意一 一对应
for i in reversed(range(1, 10, 2)) # 将原来基础上的队列正序变成倒序
for f in sorted(set(basket)) # 顺序的排列
list循环嵌套 嵌套分为一维数组,二位数组,多维数组
nums[1][1]#1表示下标,如果是-1是最后一个值的下标
list切片 #list取值的一种方式,也同样可以用在字符串
L=list(range(1,11)) #取1-10
L[0:2] #顾头不顾尾,切片中的值是下标 取1-3 L[:2]不写也可以
L[4:”] #取5-11值
L[:] #取全部
L[::2] #前面一致,最后表示步常,隔两个取一次 L=[a,b,c,d,e,f] 取b,d,f 如果最后步常是负数从最后取值,如果步常是-1,就是倒叙取值
元祖 ( ) #可以取值,但元素不可删除不可更改,如要更改重新赋值,或者创建新的元祖tup3 = tup1 + tup2
tup2 = (1, 2, 3, 4, 5, 6, 7 )
删除
del tup2 #删除整个元祖
查询
tup2[2] #获取第二个元素
tup[2:] #或者切片截取
#如果元祖只有一个如 tuple = (1),默认定义为一个变量1赋给tuple,所以在后面加括号,tuple = (1,)
字典 { } #以key,value形式体现,无序的,如果字典中存在两个相同的key,以最后一个为准
stat={} #空字典
增加
stat[a]=b #常用
setdefault(a,b) #如果字典中key的值已经存在 ,setdefault不做添加
删除
del stat[a] #删除key,value
stat.pop(a) #pop方法删除
修改
stat[a]=c #修改再一次赋值就可以了
更新合并
a = {'id':1,'username': 'rainbol', 'password': ''}
b = {'name': 'IBM', 'shares': 100, 'price': 91.1}
方式一:
setin = dict(a,**b)#这种方式有返回值
print(setin)#{'id': 1, 'username': 'rainbol', 'password': '123456', 'name': 'IBM', 'shares': 100, 'price': 91.1}
方式二:
a.update(b)#update是把一个字典的内容添加到另外一个字典中,并且没有任何返回值
print(a)#{'id': 1, 'username': 'rainbol', 'password': '123456', 'name': 'IBM', 'shares': 100, 'price': 91.1}
查询取值
stats[a] #直接取,可以print打印出来
stats.get(a) #get方法查询 如果没有返回none 不会报错, stats.get(b,'adsad'),可以在后面加上一个默认值,如果没有取到,其得到结果就是一个默认值
stats.keys() #取keys值
stats.value() #取value值
字典循环
for k in stats:
print(k) #取key值
print(stats[k]) #取value值
for i, j in stats.items():#items方法同时获取key,value
print(k,v) #取key和value的值
字典嵌套
a[b][c].append(d)
转换成字典
a = dict(sape=4139, guido=4127, jack=4098)#通过键值对
print(a)
# {'sape': 4139, 'guido': 4127, 'jack': 4098}
b = dict([['sape', 4139], ['guido', 4127], ['jack', 4098]])#通过列表
print(b)
# {'sape': 4139, 'guido': 4127, 'jack': 4098}
c = dict(((324,2342),(23,24)))#通过元祖
print(c)
# {324: 2342, 23: 24}
d = {x: x**2 for x in (2, 4, 6)}#任意键和值创建字典
print(d)
# {2: 4, 4: 16, 6: 36}
字典的更新合并
#更新的两种方式 方法一:
portfolio = {'name': 'IBM', 'shares': 100, 'price': 91.1}
setin = dict(a,**portfolio)
print(setin)#{'id': 1, 'username': 'rainbol', 'password': '123456', 'name': 'IBM', 'shares': 100, 'price': 91.1} 方法二:
a.update(portfolio)#update是把一个字典的内容添加到另外一个字典中,并且没有人任何返回值
print(a)#{'id': 1, 'username': 'rainbol', 'password': '123456', 'name': 'IBM', 'shares': 100, 'price': 91.1}
有序字典 python在最新版本中以后字典会更加靠近有序字典的方式获取值,但是在低版本中还是不支持的,所以更加变通一些可以使用一个模块来使字典变成有序的
from collections import OrderedDict
info = OrderedDict()
info['k1'] = 'hello1'
info['k2'] = 'hello2'
info['k3'] = 'hello3'
for k,v in info.items():
print(k,v)
#有序的意义在于先进先出的原则,而不是排序的顺序
# k1 hello1
# k2 hello2
# k3 hello3
版权声明:本文原创发表于 博客园,作者为 RainBol本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
python学习之列表,元祖,字典的更多相关文章
- python学习-字符串 列表 元祖
目录 Python翻转字符串(reverse string) 简单的步长为-1, 即字符串的翻转(常用) 递归反转 借用列表,使用reverse()方法 字符串常用操作 index split 切片 ...
- python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍
目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...
- python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍
目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...
- python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍
目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...
- Python学习笔记---切片 列表 元祖 字典 集合
列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...
- python-基础-字符串-列表-元祖-字典2
接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...
- Python基础5:列表 元祖 字典 集合
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
- python入门(五):切片列表元祖字典
1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" ...
- Python基础5:列表 元祖 字典 集合 Json
[ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...
随机推荐
- Linux与windows的对比
Linux与windows的对比 声明:下面的内容总结自实验楼的linux教程,特在此说明. Linux与windows一样,是一个操作系统. Linux与Windows的区别 软件与支持 windo ...
- Feign【替换默认的feign client】
说明: feign默认情况下使用的是JDK原始的URLConnection发送的HTTP请求,没有使用到连接池,但是对每个地址会保持长连接,即HTTP的persistence connection.我 ...
- Maven打包成可执行JAR(带依赖包)
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- css line-height & 图片底部间隙的处理
前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 看大牛张鑫旭的视屏可能会理解的更深一些,点击这里 . line-height 的学习 line-heigh ...
- Jmeter测试出现端口占用情况
Jmeter测试会出现端口占用情况 这边在这里做个记录,每次都要百度查询,刚好需要整理下,我就也记录一份到这里吧.感谢大佬的文章. 参考文章:windows下Jmeter压测端口占用问题 因Windo ...
- 使用ctypes调用系统C API函数需要注意的问题,函数参数中有指针或结构体的情况下最好不要修改argtypes
有人向我反应,在代码里同时用我的python模块uiautomation和其它另一个模块后,脚本运行时会报错,但单独使用任意一个模块时都是正常的,没有错误.issue链接 我用一个例子来演示下这个问题 ...
- SVN 问题解决之 Working copy path does not exist in repository
同事的SVN更新时提示某个特定文件提示 Working copy path does not exist in repository svn更新会被这个错误打断,导致无法完全更新 删掉文件再更新仍然有 ...
- Java 之 可变参数
可变参数 在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化成如下格式: 修饰符 返回值类型 方法名(参数类型... 形参名){ } 其实这个书写完全等价 ...
- 结对编程作业(python实现)
一.Github项目地址:https://github.com/asswecanfat/git_place/tree/master/oper_make 二.PSP2.1表格: PSP2.1 Perso ...
- windows环境安装haproxy及初步配置负载均衡使用示例
安装HaProxy 首先需要下载windows环境下需要文件,这里下载的是一个别人编译好的一个文件,这里省去了编译的过程,使用的版本是haproxy-1.7.8. 下载后直接解压到对应的目录下.示例( ...