• 03字符串、列表、元组、字典


    1、字符串介绍

    字符串有两种形式,单引号和双引号

    2、字符串输出

    name = "zhangsan"
    print("%s"%name)
    

    3、字符串输入

    name = input("请输入你的姓名:")

    4、下标和切片

    字符串下标从0开始到len(str)-1
    切片 是指对操作的对象截取一部分的操作。字符串、元组、列表都支持切片操作。

    a = "abcdef"
    # a[start,end] >= start < end
    print(a[0:3]) # abc
    print(a[0:]) # abcdef
    print(a[:]) # abcdef
    print(a[0::1]) # abcdef
    print(a[::1]) # abcdef
    print(a[::-1]) # fedcba
    print(a[::2]) # ace
    print(a[1:5:2]) # bd
    print(a[2:-1:2]) # ce
    print(a[5:2:-1]) # fed
    
    

    实现字符串的反转
    aStr[::-1]

    5、字符串常见操作

    import string
    s = "hello world myclass mu myclass"
    # 查找
    print(s.find("myclass"))
    print(s.index("mu"))
    
    # 个数
    print(s.count("myclass"))
    
    # 替换
    print(s.replace("my","our",2))
    
    # 分割
    print(s.split(" "))
    
    # 首字母大写
    print(s.capitalize())
    
    # 单个单词首字母大写
    print(s.title())
    
    # startswith / endswith
    print(s.startswith("Hello"))
    print(s.endswith("Ourclass"))
    
    # lower /upper
    print(s.upper())
    print(s.lower())
    
    # ljust 空格填补 rjust center
    print(s.ljust(50))
    print(s.rjust(50))
    print(s.center(50))
    
    # lstrip rstrip strip
    print(s.strip())
    
    # rindex rfind
    
    # partiton 把str分成三部分
    # print(s.partiton("world"))
    
    # splitlines   比较容易,例子略
    # isalpha
    # isalnum
    # isdigit
    # isspace
    # join
    str = " "
    li = ["my","name","is" ,"zhangsan"]
    print(str.join(li))
    

    *   (面试题)给定一个字符串aStr,返回使用空格或者' '分割后的倒数第二个子串

    aStr.split()

    6、列表介绍

    列表中的元素可以是不同类型

    7、列表的循环遍历

    for  while

    8、列表的常见操作

    li = [1,2,3,'456',[1,2,3],{1:'one',2:'two'}]
    print(type(li))
    print(li)
    
    # 元素访问
    print(li[0])
    print(li[-1])
    
    # 查找元素的位置
    print(li.index('456'))
    # 注意找不到index会抛出异常
    
    # 增加元素
    li.append(4)
    li.append(5)
    li.extend([4,5,6])
    li.insert(1,3)
    # 注意append() 与 extend()的区别
    
    # 删除元素
    del li[1]
    li.pop()
    li.remove('456')
    # 判断是for为空
    l_a = []
    if not l_a:
        print('empty')
    if l_a is None:
        print('empty')
    # 注意 not xxx 与 xxx is Node 不一样
    
    # 遍历
    for i in li:
        print(i)
    for i in range(len(li)):
        print(li[i])
    

    9、列表的嵌套

    li[[1,2,3],[34,34,23]]
    

    10、元组

    元组中的元素不能够改,其它与列表类似

    11、字典介绍

    key-value

    12、字典的常见操作

    添加元素、删除(del clear())

    dict = {1:'one',2:'two'}
    print(len(dict))
    print(dict.keys())
    print(dict.values())
    print(dict.items())
    print(dict.has_key(1))
    

    13、 字典的遍历

    有四种遍历方式:
    - 遍历key
    - 遍历value
    - 遍历数据项
    - 遍历key,value

    14、公共方法

    各个容器的公共方法 
    + 运算符:+ * in not in
    + 内置的函数: max min cmp del

    15、引用

    通过画图进行理解

    a = 2
    b = a
    print(id(a))
    print(id(b))
    

    可变类型与不可变类型

    可变类型,值可以改变:

    *   列表 list
    *   字典 dict

    不可变类型,值不可以改变:

    *   数值类型 int, long, bool, float
    *   字符串 str
    *   元组 tuple

  • 相关阅读:
    今週のschedule
    软件架构师应该知道的97件事
    没办法的复习
    优秀程序员的45个习惯
    程序员如何追女孩
    那些相见恨晚的 JavaScript 技巧
    CodeSmith开发系列资料总结
    HR的至高机密:20个公司绝对不会告诉你的潜规则
    asp.net页面出错时的处理方法
    Asp.net 文件上传的 FileUpload FileName 和 FileUpload PostedFile.FileName的细节问题
  • 原文地址:https://www.cnblogs.com/yanyun888/p/7615606.html
Copyright © 2020-2023  润新知