zoukankan      html  css  js  c++  java
  • 5月31日 基本数据类型(列表类型 字典类型 元组)及其内置方法

    # 1、作用:按位置存放多个值
    # 2、定义:
    # l=[1,1.2,'aa']#l=ist([1,1.2,'aa'])
    # print(type(l))
    # 3、类型转换:但凡能夠被for循环遍历的类型都可以当做参数传给list()转换
    # res=list('hello')
    # print(res)

    # res=list({'k1:':111,'k2':222,'k3':333})
    # print(res)

    # 4、内置方法
    # 4.1 优先掌握
    # 4.1.1、按索引取值(正向取+反向取):只能取
    # l=[1,1.2,'aa']
    # 正向取
    # print(l[0])
    # print(l[1])
    # 反向取
    # print(l[-1]) #4
    # 只能取 可以能改
    # l[0]='222' #索引存在则修改对应的值
    # print(l)

    # 无论是取值操作还是赋值操作:索引不存在则报错
    # l[3]=333


    # .往列表里添加值
    # 1. 追加
    # l=[1,1.2,'aa']
    # l.append(333)
    # l.append(444)
    # print(l)

    # 2. 插入值
    # l=[1,1.2,'aa']
    # l.insert(0,'yyy')
    # l.insert(1,'xxx')
    # print(l)

    # 3. extend实现将一个列表里的值,分别取出来,再添加到另一个列表
    # newy = [1, 2, 3]
    # l = [1, 1.2, 'aa']
    # l.extend(newy)
    # print(l)
    # l.extend('yui')
    # print(l)


    # 删除
    # 方式一
    # l=[1,1.2,'aa']
    # del l[1] #不支持赋值语法
    # print(l) #


    # 方式二:l.pop() 根据索引删除,会返回值
    # l=[1,1.2,'aa']
    # l.pop() #不指定索引默认删除最后一个
    # print(l)

    # res=l.pop(1)
    # print(res)

    # 方式三:l.remove() 根据元素删除,返回None
    # l=[1,1.2,'aa',['r','q','w']]
    # l.remove(['r','q','w'])
    # print(l)

    # res=l.remove(['r','q','w'])
    # print(res) #返回None


    # 、切片:索引的拓展应用(顾头不顾尾,步长)
    # p= [1, 1.2, 'aa',5,8,9,7,'w','r']
    # print(p[0:5])
    # print(p[0:5:2]) # 0 2 4 [1, 'aa', 8]

    # print(p[0:len(p)])
    # print(p[:]) #切片等同于拷贝行为,而且相当于浅拷贝

    # print(p[::-1]) # 相当于把列表倒过来


    # 长度
    # print(len([1,2,3]))

    # 成员运算in和notin


    # 循环
    # for x in [1,'aaa','bbb']:
    # print(x)


    # 需要掌握的操作
    # p = [1, 'aaa', 'bbb']
    # 1、p.count()
    # print(p.count('aaa'))

    # 2、p.index()
    # print(p.index('aaa'))
    # print(p.index('aaaaaaa')) # 找不到报错

    # 3、p.clear()
    # p.clear()
    # print(p)

    # 4、p.reverse() :不是排序,就是将列表倒过来
    # p=[1,'aaa','bbb']
    # p.reverse()
    # print(p)

    # 5、p.sort() :列表内元素必须是同种类型才可以排序
    # p=[1,2,5,99,24,63,'5.2']
    # p.sort() #默认从小到大排,称之为升序
    # p.sort(reverse=True) #从大到小排,设置为降序
    # print(p)

    # p=['c','e','a']
    # p.sort()
    # print(p) #['a', 'c', 'e']

    # 了解 字符串可以比大小,按照对应的位置的字符依次PK
    # 按照ASCI码表的先后顺序区别字符的大小,表中排在后面的字符大于前面的
    # print('a'>'b') #False
    # print('abz'>'abcdef') # True
    #
    # print('A'>'a') #False

    # 了解:列表之间也可以比大小,原理同字符串,但是对应元素必须是同种类型
    # p1=[1,'abc','zaa']
    # p2=[10,]
    #
    # print(p1>p2)


    # 补充
    # 队列:first in first out 一般写成 FIFO ,先进先出
    # p = []
    # 入队操作
    # p.append('first')
    # p.append('second')
    # p.append('third')
    # print(p)
    # 出队操作
    # print(p.pop(0))
    # print(p.pop(0))
    # print(p.pop(0))
    # print(p)

    # 堆栈: LIFO ,后进先出
    p = []
    # 入栈操作
    p.append('first')
    p.append('second')
    p.append('third')
    print(p)
    # 出栈操作
    print(p.pop(0))
    print(p.pop(0))
    print(p.pop(0))
    print(p)



    字典类型
    # 1.作用:

    # 2.定义:{}内用逗号分隔开多喝key:vaule,其中vaule可以是任意类型,但key必须是不可变类型.且不能重复。
    # d={'k1':111,'k2':(1,2,3),'k3':222} # d=dict(......)
    #
    # print(type(d))

    # d={} #默认定义出来的是空字典
    # print(type(d))

    # d=dict(x=1,y=2,z=3)
    # print(type(d))
    # print(d) #{'x': 1, 'y': 2, 'z': 3}


    # 3.类型转换:
    # info=[
    # ['name','egon'],
    # ('age',18),
    # ['gender','male']
    # ]
    # d={}
    # for item in info:
    # d[item[0]]=item[1]
    # print(d)

    # res=dict(info) # 一行代码搞定上述for循环的工作
    # print(res)


    # 造字典的方式:快速初始化一个字典
    # keys=['name','age','gander']

    # d={}
    # for k in keys:
    # d[k]=None
    # print(d)

    # d={}.fromkeys(keys,None)
    # print(d)


    # 内置方法:
    # 1.按key存取值:可存可取
    # d={'k1':111}
    # 针对赋值操作:key存在,则修改
    # d['k1']=222
    # print(d)
    # 针对赋值操作:key不存在,则创建新值
    # d['k2']=333
    # print(d)


    # 2.、长度len
    # d={'k1':111,'k2':(1,2,3),'k1':222}
    # print(d)#{'k1': 222, 'k2': (1, 2, 3)}
    # print(len(d)) # 2


    # 3.、成员运算in和noting
    # d={'k1':111,'k2':(1,2,3),'k3':222}
    # print('k1'in d) #True
    # print(111 in d)# False


    # 4、删除
    # 4.1 通用删除
    # d = {'k1': 111, 'k2': (1, 2, 3), 'k3': 222}
    # del d['k1']
    # print(d)

    # 4.2 pop 删除: 根据key删除元素, 返回删除key的对应值
    # res=d.pop('k1')
    # print(d)
    # print(res)


    # 4.3 d.popitem 删除:随机删除,返回元组(删除的key,value)
    # res = d.popitem()
    # print(res)

    # 5、键keys(),值values(),键值对items()=>在Python3中都是老母鸡
    # d={'k1': 111, 'k2': 222}
    # 在Python2中
    """
    >>> d={'k1': 111, 'k2': 222}
    >>>
    >>> d.keys()
    ['k2', 'k1']
    >>> d.items()
    [('k2', 222), ('k1', 111)]
    >>> dict(d.items())
    {'k2': 222, 'k1': 111}
    >>>exit()
    """

    # 6.for循环
    # for k in d :
    # print(k)


    # for v in d.values():
    # print(v)




    # for k,v in d.items():
    # print(k,v)


    # print(list(d.keys()))
    # print(list(d.values()))
    # print(list(d.items()))


    #需要掌握的内置方法
    # d={'k1': 111, 'k2': 222}
    # 1、 d.clear() #清空字典

    # 2. d.update()
    # d.update({'k2':444,'k1':111})
    # print(d)

    # 3. d.get() :容错性好
    # print(d['k3']) #key不存在则报错
    # print(d.get('k1')) # 111
    # print(d.get('k3')) # key不存在不报错,返回None


    #4. d.setdefault()
    info={}
    # if "name" in info :
    # ... #等同于pass
    # else:
    # info['name']='egon'
    # print(info)




    # 4.1 如果k1有则不添加,返回字典中key對應的值(执行完毕之后的key对应的value返回出来)
    # d={'k1': 111}
    # d.setdefault('k1',222)
    # print(d)


    # 4.2 如果k1没有则添加,返回字典中key對應的值(执行完毕之后的key对应的value返回出来)
    # info={}
    # info.setdefault('name','egon')
    # print(info)







    元组
    # 元组就是“一个不可变的列表”

    # 1.作用:按照索引/位置存放多个值,只用于读不用于改


    # 2.定义:()内用逗号分隔开多个任意类型的元素
    # t = (1, 1.3, 'aa') # t=tuple((1, 1.3, 'aa'))
    # print(t, type(t))


    # x=(10)# 单独一个括号代表包含的意思
    # print(x,type(x)) #int

    # t=(10,)# 如果元组中只有一个元素,必须加逗号
    # print(t,type(t))

    # t=(1, 1.3, 'aa') #t=(0->值1的内存地址,1->值1.3的内存地址,2->"aaa"的内存地址)
    # t[0]=111

    # t=(1, [11,22], 'aa') #t=(0->值1的内存地址,1->值[1,2]的内存地址,2->"aaa"的内存地址)
    # print(id(t[0]),id(t[1]))
    # t[0]=11111111111 #不能改
    # t[1]=22222222222 #不能改

    # t[1][0]=1111111111111111111
    # print(t)
    # print(id(t[0]),id(t[1]))




    # 3.类型转换

    # print(tuple('1'))
    # print(tuple[1,2,3])
    # print(tuple({'a1':111,'a2':222}))


    #4.内置方法
    #优先掌握操作
    # 4.1 优先掌握
    # 4.1.1、按索引取值(正向取+反向取):只能取
    # t=(1,1.2,'aa')
    # 正向取
    # print(t[0])
    # print(t[1])
    # 反向取
    # print(t[-1]) #4
    # 只能取 可以能改
    # t[0]='222' #索引存在则修改对应的值
    # print(t)
    # 长度
    # print(len(t))

    # 成员运算in和notin


    # 循环
    # for x in t:
    # print(x)



    # 内置方法
    # t=(2,3,111,111,111)
    # print(t.index(111))
    # print(t.index(111111))# 报错

    # print(t.count(111))







  • 相关阅读:
    TypeConverter的使用
    ASP.NET MVC——Controller的激活
    ASP.NET 会话状态的模式
    ASP.NET页面生命周期描述
    一个字符串搜索的Aho-Corasick算法
    ILMerge 简单使用
    js css优化-- 合并和压缩
    C#.Net网页加载等待效果漂亮并且简单
    获取打开文件的路径和文件名
    C#程序中:如何启用进程、结束进程、查找进程
  • 原文地址:https://www.cnblogs.com/ltyc/p/13021249.html
Copyright © 2011-2022 走看看