• day02_python-for,列表,元组,字典,集合


    for循环:

      for i in range(3)

        print("循环三次,i值分别打印为0,1,2")

     1 name = "li"
     2 password = '000'
     3 for i in range(3):
     4     user = input("username:")
     5     pwd = input("pwd:")  
     6     if name==user and pwd==password:
     7         print("welcome li")
     8         break
     9     else:
    10         print("username or pwd is wrong, check again please")

    (回看day01自己用while编写的代码)

     新接触的数据类型:列表,元组,字典,(补充python字符串)

       列表(list):a["li",23,0,nei["cdpi",434,"嵌套"]]

        列表中元素可以是字符串,数字,列表,字符

        添加列表中的元素list.append(),append是默认在末尾添加元素,insert是指定位置添加,用法:list.insert(2)="a",把元素a插入到list[2]中

        删除列表中的元素 del list[1],list.remove("a"),b=list.pop("a"),pop的作用,删除“a”,并返回元素"a"到b中

        截取时从左到右索引默认0开始,从右到左默认-1开始

        列表的切割,变量[头下标:尾下标]。a[3:6]

        a[3:6]   表示从第四个(a[3])到a[6](不包含a[6])

        切片跳着取:a[1:-1:1] 或a[1::1] 表示从a[1]取到a[-1](从左到右)的位置,后面的1表示一个一个取,步长为1,反过来从右向左取是a[3::-2],从第三个位置向左取

    剪切

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

    b=list["to","be","or","not0","to"].count("to")
    print(b)

      extend方法可以在列表的末尾一次性追加另一个序列中的多个值,(也就是连接列表)

       index是通过元素找位置,list.index("a")

      list.sort()   排序  

    list=[3,6,4,7,8,1]
    list.sort()
    print(list)

        list.reverse()    list.sort(reverse=True)   (默认reverse=False)

      元组tuple:

        类似于List,b(),用逗号隔开,元组内部元素不可二次赋值(只读)(列表可以更新)

      字典dictionary:

      字典无序,通过键对值(key:value)存取,dict{}

      键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一

      del dict['name']  #删除键是name的条目

      dict.clear()  #清空字典所有条目

      del dict  #删除字典

      

    print(tinydict.keys())
    print(tinydict.values())
    ['dept', 'code', 'name']
    ['sales', 6734, 'john']
    字典的遍历:
    dic={'name': 'alex', 'age': 18}
    for i in dic:
        print (i,dic[i])
    #item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回
    for key,value in dic.items():
        print(key,value)
     集合(无序,唯一):
    只有一种创建形式:s=set()
    s=set('li zhuzhi')
    s1=['li','we','li']
    s2=set(s1)
    print(s2,type(s2))   #{'li','we'}<class 'set'>

    集合对象时一组无序排列的可哈希的值(也就是不可变),集合成员可以作为字典的键

    list=[[2,3],3,'lsi']
    s=set(list)        #报错,[2,3]是不可哈希的,字典也不行
    li=[32,'ls',5]  #add和update的区别
    s=set(li)
    s.add('as')
    s.update('xyz')
    print(s)    #{32, 'x', 5, 'z', 'y', 'as', 'ls'}
    print(set('liaxinm') == set('liaxins'))    #等价  False
    print(set('liaxin') < set('liaxins'))    #包含  True
    print(set('liaxinm') and set('liaxins'))    #取并集  {'x', 'l', 'i', 'a', 'n', 's'}
    print(set('liaxinm') or set('liaxins'))    #取交集  {'x', 'l', 'i', 'm', 'a', 'n'}
    a = t | s          # t 和 s的并集  
    b = t & s          # t 和 s的交集  
    c = t – s          # 求差集(项在t中,但不在s中)  
    d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中) 

     成员运算符:

      in    not in:如果在指定的序列中找到(找不到)值返回True

    a=20
    list=[1,3,4,6,9]
    if(a in list):
        print("变量a在给定的列表list中")
    else:
        print("变量a不在给定的列表中")

    身份运算符:

      is    is not

     注:id()函数用于获取对象内存地址

    is 与==的区别

      is用于判断两个变量引用对象是否为同一个(同一块内存空间),==用于判断引用变量的值是否相等。

    >>> a = [1, 2, 3]
    >>> b = a
    >>> b is a 
    True
    >>> b == a
    True
    >>> b = a[:]
    >>> b is a
    False
    >>> b == a
    True
  • 相关阅读:
    Netty 源码解读(二)-ChannelPipeline、ChannelHandler、ChannelHandlerContext
    Netty源码解读(一)-服务启动和接收请求源码
    浅谈自动化测试框架开发
    程序运行时环境
    常见的Linux内核线程
    一个好用gdb扩展工具
    使用Qemu模拟Numa机器
    使用qemu的nat方式登录
    2021.32 量化
    2021.31 模型
  • 原文地址:https://www.cnblogs.com/xin-zhizhu/p/12989792.html
Copyright © 2020-2023  润新知