zoukankan      html  css  js  c++  java
  • python中 列表 字典 元组的了解

    #######列表######
    1.列表的特性
      server = [['http'],['ssh'],['ftp']]
      server1 = [['mysql'],['firewalld']]
      连接
       print server+server1
      索引
       print server[0]
      切片
       print server[1:]
       print server[:-1]
       print server[::-1]
     重复
       print server * 2
     for循环遍历
       print '6666'.center(50,'*')
       for se in server:
          print se,

    2.列表里嵌套列表
      vim = [['http',80],['ssh',22],['ftp',21]]
      索引
      print  vim[0][1]
      print  vim[-1][1]
      切片
      print vim[:][1]
      print vim[:-1][0]
      print vim[0][:-1]
     name = [ 'fenyiao','fendai','fensi','apple']
     print  name['and'.join([name[-1]])]
     
    #######列表的增加########
    s = [ 'http','ssh','ftp']
    1
     print s + ['mysql']
    2.append:追加 追加一个元素到元素列表中
     s.append('nfs')
     print s
    3.extend:拉神 追加多个元素到列表中
      s.extend(['firewall','mysql'])
      print s
    4.insert:在指定为值插入元素
     s.insert(1,'nfs')
     print s
    ########列表的删除#######
     s = [ 'http','ssh','ftp']
     1.如果pop()不传递值的时候,默认弹出最后一个元素
      print  s.pop()
      pop()也可以传递索引值
      print s.pop(0)
     2.remove:删除指定的元素
      s.remove('ssh')
      print s

     3.del 关键字 从内存中删除列表
      print s
      del s
      print s

    #######列表的修改########3
     s = [ 'http','ssh','ftp']
     通过索引,重新赋值
       s[0] = 'nfs'
        print s
    通过i切片
       print s[:2]
         s[:2] =['samba','ftp']
       print s
    #####列表的查看#####
     s = ['http', 'ssh', 'ftp', 'ssh']
     查看列表中元素出现的次数
       print s.count('ssh')
     查看指定元素的索引值
       print s.index('ftp')
    ######列表的排序#########
     s = ['a', 'A', 'b', 'g', 'M']
     按照Ascii码进行排序的
      s.sort()
      print s
    倒叙
      s.sort(reverse=True)
      print s
    对字符串排序不区分大小写s.sort(key=str.lower)
     s.sort(key=str.lower)
     s.sort(key=str.upper)
     print s

     import random
     i = list(range(10))
     print i
    将原有列表顺序打乱
     random.shuffle(i)
     print i
    ######集和#####
    集合的定义
     s= {1,3,1,3,3,1,34,5}
     print s,type(s)
     s1 ={1}
     print s1,type (s1)
    如何定义一个空集合
     s2 ={}
     print s2,type(s2)
     s3 =set([])
     print s3,type(s3)
    集合的应用
     li = [1,2,3,4,5,1,2]
     print li
     print list(set(li))
    集合的特性
     s = {1, 2, 3}
     print 1 in s
      for i, v in enumerate(s):
              print 'index: %s,value:%s' % (i, v)
    集合常用方法
      s = {4,6,7,9,32,5}
     增加
      s.add(10)
      s.add(11)
      print s
     删除
      print s
      s.pop()
      print s
     删除指定的元素
      s.remove(32)
      print s

     交集 并集 差集
     s1 = {1, 2, 3}
     s2 = {4, 3, 2}
    并集
      print  '并集:',s1.union(s2)
      print '并集:', s1 | s2
    交集
      print '交集:',s1.intersection(s2)
      print '交集:',s1 & s2


    差集
      s1中有哪些s2中没有的元素
      print '差集',s1.difference(s2)
      print '差集',s1-s2
      s2中有那些s1中没有的元素
      print '差集',s2.difference(s1)
      print '差集',s2-s1

     对等差分:并集-交集
      print '对等差分:',s1.symmetric_difference(s2)
      print '对等差分:',s1^s2
     s3 = {1, 2}
     s4 = {1, 2, 3}
     s3是否为s4的子集
     print s3.issubset(s4)
     s3是否为s4的超集
     print s3.issuperset(s4)
     两个集合是不是相交
     print s3.isdisjoint(s4)

    ######元组######
    元组的创建
       t = (1,2,3,4,5,'start')
       print t,type(t)
      元组里面包含可变数据类型,可以简介修改元组的内容
       t1 = ([1,2,3,4],5)
       t1[0].append(6)
       print t1
    元组如果只有一个元素的时候,后面一定要加逗号,否则数据类型不确定
       t2 = ('hello')
       t3 = (3)
       print type(t2),type(t3)
       t2 = ('hello',)
       t3 = (3,)
       print type(t2),type(t3)
    元组的特性
       a = ('over','and','or')

     索引 切片
       print a[0]
       print a[-1]
       print a[1:]
       print a[2:]
       print a[:-1]
       print a[:-2]
       print a[::-1]
    重复
       print a*3
    连接
       print a + ('like',)
    成员操作符
       print 'over' in a

    元组的应用场景
    1.变量交换数值
       a =1
       b =2
       b,a = a,b
       #先把(a,b)封装成了一个元组(1,2)
       #b,a =a,b
       #b=(1,2)[0] a=(1,2)[1]
        print a
        print b

    2.打印变量值
      name = 'westos'
      age =10
      t =(name,age)
      print 'name:%s,age:%s' %(name,age)
      print 'name:%s,age:%s' %t

    3.元组的赋值
      t= ('westos',10,100)
      name,age,scort =t
      print name,age,scort
     scores=(100,87,4,43,76,)
    # scoresLi = list(scores)
    #  scoresLi.sort()
    #  print scoresLi
     scores =sorted(scores)
     print scores

    ######字典#######
    字典的定义
     字典是是一个无序的数据组合,使用print输出字典的时候
     通常输出的顺序和定义的顺序是不一样的
     message = {
        'name':'tom',
         'age':18,
         'height':1.90,
         'weight':75.5
     }
     print message
     s= {}
     print type(s)
     s={
            'we':[111,32,564],
            'ng':[111,111,111]
     }
     print s,type(s)
    字典的特性
     d = dict(a=1,b=2)
      print d
     #成员操作符(默认判断key值是否存在)
      print  'a' in d
      print 1 in d
    for循环(默认循环遍历字典的key值)
       for i in d:
           print i

    字典的增加
     d =dict(a=1,b=2)
      print d
     添加或者更改key-value对
      d['g']=10
      print d
      d['a']=10
      print d
    """
    update
        如果key存在,更新value值
        如果key不存在,添加key-value值
    """
     d.update({'a':4,"f":1})
     print d
    """
    update
        如果key存在,不做修改
        如果key不存在,添加key-value值
    """
     d.setdefault('a',10)
     print d
    字典的删除
     d= dict(a=1,b=2,c=3)
    #  d.pop('a')
    #  print d
    #  print d
    #  d.popitem()
    #  print d

    #  del  d['a']
    #  print d

    字典的修改与查看
     erver = {
      'http': 80,
          'mysql': 3306
     }
     查看字典里所有的key值
      print server.keys()

     查看字典里所有的value值
      print server.values()

     查看字典里面所有的key-value值
      print server.items()
    # 遍历
      for k, v in server.items():
              print k, '...', v

      for k in server:
               print k, '...',server[k]
      print server['http']
          if 'http' in server:
          print server['http']
      else:
          print 'key not exist'
    """
    get方法获取指定key对应的value值
        如果hey值存在,返回对应的value值
        如果key值不存在,默认返回None,如果需要指定返回值,传值即可
    """
    print server.get('http', 'key not exia‘)
  • 相关阅读:
    [BJOI2019] 光线
    [BJOI2019]奥术神杖
    [HNOI2014]江南乐
    [SDOI2018]荣誉称号
    [APIO2015]雅加达的摩天楼
    [TJOI2015]线性代数
    【CF163E 】e-Government
    【CF917D】Stranger Trees
    网络流(四)dinic算法
    网络流(三)最大流最小割定理
  • 原文地址:https://www.cnblogs.com/zhengyipengyou/p/9573554.html
Copyright © 2011-2022 走看看