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学习之列表,元祖,字典的更多相关文章

  1. python学习-字符串 列表 元祖

    目录 Python翻转字符串(reverse string) 简单的步长为-1, 即字符串的翻转(常用) 递归反转 借用列表,使用reverse()方法 字符串常用操作 index split 切片 ...

  2. python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍

    目录 python学习第八讲,python中的数据类型,列表,元祖,字典,之字典使用与介绍.md 一丶字典 1.字典的定义 2.字典的使用. 3.字典的常用方法. python学习第八讲,python ...

  3. python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍

    目录 python学习第七讲,python中的数据类型,列表,元祖,字典,之元祖使用与介绍 一丶元祖 1.元祖简介 2.元祖变量的定义 3.元祖变量的常用操作. 4.元祖的遍历 5.元祖的应用场景 p ...

  4. python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍

    目录 python学习第六讲,python中的数据类型,列表,元祖,字典,之列表使用与介绍. 二丶列表,其它语言称为数组 1.列表的定义,以及语法 2.列表的使用,以及常用方法. 3.列表的常用操作 ...

  5. Python学习笔记---切片 列表 元祖 字典 集合

    列表[1,2,3,2]#[] 元祖(1,2,3,2)#() 字典{1:2,3:2}#{} 集合{1,2,3,2}#{} 1,集合与列表的区别,集合里不能有重复元素 2.字典与集合的区别,都是用花括号表 ...

  6. python-基础-字符串-列表-元祖-字典2

    接上:http://www.cnblogs.com/liu-wang/p/8973273.html 3 元组 4 字典 4.1 字典的介绍 <2>软件开发中的字典 变量info为字典类型: ...

  7. Python基础5:列表 元祖 字典 集合

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

  8. python入门(五):切片列表元祖字典

    1.切片 针对序列,使用切片可以获得我们想要的内容 序列:字符串.列表.元祖 特点:可以使用坐标获取某一个值.坐标是从0开始算 >>> s="0123456789" ...

  9. Python基础5:列表 元祖 字典 集合 Json

    [ 列表] 列表(list)是Python以及其他语言中最常用到的数据结构之一.Python使用使用中括号 [ ] 来解析列表. 列表是可变的(mutable)——即:可以改变列表的内容. 相关操作: ...

随机推荐

  1. 综合练习1,划分vlan,单臂路由,DHCP服务及其限制网段、租期,设置根桥,OSPF路由通告综合练习

    实验要求: 1.在LSW1上分别给vlan10和vlan20做DHCP网段分别为192.168.10.0/24.192.168.20.0/24禁用192.168.10.200-253,192.168. ...

  2. 重新渲染layui的radio

    修改后添加这一段 layui.use('form', function() { var form = layui.form; form.render(); }); 也可以用官方的方法:https:// ...

  3. JMeter接口自动化学习笔记(一)

    实例教程:https://blog.csdn.net/kasijia/article/details/79405815 https://www.cnblogs.com/rd-ddddd/p/95782 ...

  4. 前后端分离,如何防止api接口被恶意调用或攻击

    无论网站,还是App目前基本都是基于api接口模式的开发,那么api的安全就尤为重要了.目前攻击最常见的就是“短信轰炸机”,由于短信接口验证是App,网站检验用户手机号最真实的途径,使用短信验证码在提 ...

  5. 2019版UI学习路线(含大纲+视频+工具+网盘+面试题)

    2019最新UI设计师教程(学习路线+课程大纲+视频教程+面试题+学习工具) 什么是全链路UI设计 UI设计师是随着网络而兴起的新兴设计行业,从事对软件的人机交互.操作逻辑.界面美观的整体设计工作.涉 ...

  6. go hello world第一个程序

    main 函数所在的包名必须使用main import "fmt"  导入包fmt  fmt包包含了Println方法的定义 func main() 程序运行入口方法和c语言相似 ...

  7. Comet OJ - Contest #5 简要题解

    好久没更博了,还是象征性地更一次. 依然延续了简要题解的风格. 题目链接 https://cometoj.com/contest/46 题解 A. 迫真字符串 记 \(s_i\) 表示数字 \(i\) ...

  8. 本地虚拟机NAT模式下怎么设置才可以访问外网

    记:因为我要在本机虚拟机上安装Docker,结果发现虚拟机环境不能上网,是主机模式.我要调成net模式下才可以访问外网,这就需要怎么设置.下面文章记录一下. 在本机安装VMware软件后,系统中会自动 ...

  9. 在论坛中出现的比较难的sql问题:5(row_number函数 分页、随机返回数据)

    原文:在论坛中出现的比较难的sql问题:5(row_number函数 分页.随机返回数据) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 1.在inner join后, ...

  10. 补充:Python安装

    需要安装Python2.7.Numpy和Matplotlib.由于Python不支持向下兼容,因此在Python3.×下你一定能正常运行Python2.×的代码.上述模块最简单的安装方法就是用软件包安 ...