zoukankan      html  css  js  c++  java
  • Python基础-元组、列表、字典

    元组tuple

    元组被称为只读列表,即数据可以被查询,但不能被修改,所以,字符串的切片操作同样适用于元组。例:(1,2,3)("a","b","c")

    tu=('qiaofeng',2,'xuzhu',True)
    print(tu[2:])

    元组子元素不能更改,但是子—>子元素有可能更改

    tu=('wuyazi',2,['qiaofeng','xuzhu','duanyu'],True)
    tu[2].pop(1)
    print(tu)

     

    Ture在字典、元组中换算成1

    tu = (1,2,'wusir','taibai',True)
    print(tu.count(1))

     

    列表list

    列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:

    li = [‘alex’,123,Ture,(1,2,3,’wusir’),[1,2,3,’小明’,],{‘name’:’alex’}]

    列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,32位python的限制是 536870912 个元素,64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值。

    1.增

    append  增加到最后,每次只能增加一个元素

    li = [1,'a','b',2,3,'a']
    li.append('aaa') #增加到最后
    li.append([1,2,3]) #增加到最后
    print(li)

    Insert   插入,按照索引去增加,每次只能增加一个元素

    li = [1,'a','b',2,3,'a']
    li.insert(2,55) #按照索引去增加
    print(li)

    extend  尾部插入,迭代的去增

    li = [1,'a','b',2,3,'a']
    li.extend(['q,a,w']) 
    li.extend(['q,a,w','aaa'])
    li.extend('a')
    li.extend('abc')  #迭代的去增
    li.extend('a,b,c')
    print(li)

     

    2.删

    pop  只能按照位置去删除,有返回值,每次只能删除一个元素

    li = [1,'a','b',2,3,'a']
    l1 = li.pop(0) #按照位置去删除,有返回值
    print(l1)
    li = [1,'a','b',2,3,'a']
    li.pop()    #默认删除最后一个元素
    print(li)

    remove   按照元素去删除,没有返回值

     

    li = [1,'a','b',2,3,'a']
    li.remove('a') #按照元素去删除
    print(li)

     

    clear  清空

    li = [1,'a','b',2,3,'a']
    li.clear()  #清空列表
    print(li)

    del  

    1:删除列表

     

    li = [1,'a','b',2,3,'a']
    del li
    print(li)

     

    2.可以按照切片、索引去删除,没有返回值

    # li = [1,'a','b',2,3,'a']
    # del li[0]       #按照索引去删除
    # del li[1:3]     #按照切片去删除
    # del li[1:5:2]   #加步长
    # print(li)

     

    3.改  

    li = [1,'a','b',2,3,'a']
    li[1] = 'dfasdfas'  #按照索引去改
    print(li)
    li[1:3] = ['n','k']     #按照切片去改
    print(li)

     

    4.查

    按切片、索引或者循环

    li = [1,'a','b',2,3,'a']
    a=li[2]
    b=li[0:3]
    print(a)
    print(b)
    li = [1,'a','b',2,3,'a']
    for i in li:
        print(i)

     

    5.其他操作

    count(数)  (方法统计某个元素在列表中出现的次数)

    a = ["q","w","q","r","t","y"]
    print(a.count("q"))

    index  (方法用于从列表中找出某个值第一个匹配项的索引位置)

    a = ["q","w","r","t","y"]
    print(a.index("r"))

    sort   (方法用于在原位置对列表进行排序)

    ls = [1,3,6,8,7,4,2,9,10]
    ls.sort()
    print(ls)
    # sort(reverse)T从大到小   F从小到大
    ls.sort(reverse=True)
    print(ls)

    reverse  (方法将列表中的元素反向存放)

    a = [2,1,3,4,5]
    a.sort()# 他没有返回值,所以只能打印a
    print(a)
    a.reverse()#他也没有返回值,所以只能打印a
    print(a)

     

    列表的嵌套

    1 l1 = ['小新','egon','wusir',[99,'tiabai','ritian',[2,3]],2]
    2 l1[1] = l1[1].capitalize()
    3 l1[1] = 'Alex'
    4 print(l1)
    5 l1[3][1] = l1[3][1].upper()
    6 print(l1)
    7 l1[3][0] = str(l1[3][0] + 1)
    8 print(l1)

     

     字典dic

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必须是不可变类型,

    字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

    可变与不可变

      不可变数据类型:int,str,bool,tuple

      可变数据类型:list,dict,set(集合)

    字典的键是唯一的且是不可变数据类型 key:value

    value任意数据类型

    在3.5版本之前,字典是无序的,3.6之后,有序。

     

    字典的增、删、改、查

    dic(key)=value  #有相同的key就覆盖,没有则添加

    setdefault(key,value)  #在字典中添加键值对,如果只有键那对应的值是none,有key不覆盖,没有key添加

    dic.pop(key)  #按key删除,有返回值

    dic.pop('不存在字典的内容','没有此键')  #如果没有此key,可设置返回值

    dic.clear()  #清空字典的内容

    del dic  #删除字典

    del dic[key]  #删除键值对

    popitem(dic)  #随机删除,python3.6以后默认删除最后一位

    dic[key]=value  #有相同的key,就覆盖

    update  #将dic的键值对覆盖,添加到dic2中,dic不变

    dic2.update(dic)

     查

    print(dic['name'])  #没有会报错

    print(dic.get('name2'))  #没有会自动显示,返回None

    print(dic.get('name2','没有此键值对'))  #没有会显示没有此键值对

    字典的其他操作

    keys = dic.keys() 

    print(keys,type(keys))  #显示所有的键,并转化成列表

    values = dic.values()

    print(values,type(values))  #显示所有的值

    item = dic.items()  

    print(item,type(item))  #显示所有键和值,dict_items类型,可迭代的

    字典的循环

    打印所有键:

    for k in dic:

      print(k) 

    for k in dic.keys():

      print(k)

    打印所有值:

    for v in dic.values():

      print(v)

    字符形式打印所有键,值

    for k,v in dic.items():

      print(k,v)

    for k in dic:

      print(k,dic[k])

    字典的嵌套 

    字典嵌套
     1 dic = {
     2     'name':'金鑫',
     3     'name_list':[1,2,3,'李杰'],
     4     1:{
     5         'python10':['小黑','萌哥'],
     6        '老男孩':{'name':'oldboy','age':56}
     7     }
     8 }
     9 #1,[1,2,3,'李杰']追加'wusir'
    10 #2, ['小黑','萌哥'] 小黑 萌哥中间 插入一个花哥
    11 #3, {'name':'oldboy','age':56} 添加一个键值对,hobby:男人
    12 
    13 dic['name_list'].append('wusir')
    14 print(dic)
    15 
    16 dic[1]['python10'].insert(1,'花哥')
    17 print(dic)
    18 
    19 dic[1]['老男孩'].setdefault('hobby','男人')
    20 print(dic)

    其他(for,enumerate,range)

    for循环:用户按照顺序循环可迭代对象的内容。

    msg = '老男孩python是全国范围内最好的python培训机构'
    for item in msg:
        print(item)
    
    li = ['alex','银角','女神','egon','太白']
    for i in li:
        print(i)
    
    dic = {'name':'太白','age':18,'sex':'man'}
    for k,v in dic.items():
        print(k,v)

     

     range:当作范围列表,列表中的元素是数字,且可控的有效数字

    for i in range(1,10):
        print(i)
    
    for i in range(1,10,2):  # 步长
        print(i)
    
    for i in range(10,1,-2): # 反向步长
        print(i)

     

     

     



  • 相关阅读:
    清除System.Web.HttpRuntime.Cache缓存
    C# 自动添加文件头注释的方法
    MVC中为站点添加是否开启过滤器
    css 设置页面打印分页
    MVC core TempData Session has not been configured for this application or request.
    abp .net core hangfire JobStorage.Current property value has not been initialized
    数据库还原失败System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份
    无法执行程序。所执行的命令为 "C:WindowsMicrosoft.NETFramework64v4.0.30319csc.exe" /noconfig /fullpaths @"C:WindowsMicrosoft.NETFramework64v4.0.30319Temporary ASP.NET Files oot411ea3248a9fbaun5r0xd.c
    ABP select2 在模态框中搜索框无法输入
    asp access 数据库连接失败(未指定的错误)
  • 原文地址:https://www.cnblogs.com/strive-man/p/8342664.html
Copyright © 2011-2022 走看看