• 编码和列表


    一、字符编码

      总结: 

      1、ASCII  8bit  1个字节(byte)

      2、GBK  16bit  2个字节

      3、Unicode  32bit  4个字节

      4、Utf-8(针对Unicode的可变长度字符编码)

      (1)英文字符  8bit  1个字节

      (2)汉字  24bit  3个字节

      (3)生僻的字符  4-6字节

    二、Python中的数据类型

    1、int  整形

    2、bool  布尔

    3、str  字符串(不可变)

    4、list  列表

    5、tuple  元组(不可变)

    6、dict  字典

    7、set  集合

    1. int 

     bit_length()  整形的二进制位数(长度)
    a = 5
    print(a.bit_length())

    2. bool

    bool(object)  # 返回对象的真假(True or False)

    什么样的对象时False呢?

    None,空对象('', [], (), {}, set()),即空的字符串、列表、元组、字典、集合都为False。这里需要注意 ' ' ,含有空格的字符串,值为True。

    排除以上False的对象,其他都是True

    3. 字符串

    3.1 索引切片

        索引:下标从0开始

        切片:str[起始位置:结束位置:步长]  结果不包括结束位置索引处元素,步长可以是正数,可以是负数。

    s = 'hello world'
    
    print(s[0:5])
    print(s[0:5:2])
    print(s[5:0])
    print(s[5:0:-1])
    print(s[-1:-6:-1])
    
    # 输出结果
    hello
    hlo
    不能取
     olle
    dlrow
    

    3.2 字符串操作

    1. capitalize   # 字符串首字母大写

    2. title   # 字符串中被特殊字符分隔的部分,每部分首字母大写(中文也被当作特殊字符处理)

    3. upper   # 字符串中小写字母变大写

    4. lower  # 字符串中大写字母变小写

    5. strip  # 去掉字符串首尾空格,也可以自己指定字符

    6. replace  # 字符替换

    7. split  # 使用字符串中的指定符号分割字符串,以列表形式返回结果

    8. find  # 查找,返回匹配部分的第一个字符的索引位置;匹配不到,返回-1

    9. len  # 返回字符串长度

    s = 'say hEllo woRld'
    
    print(s.capitalize()) #Say hello world
    print(s.title())     #Say Hello World
    print(s.upper())     #SAY HELLO WORLD
    print(s.lower())       #say hello world
    print('   hello world   '.strip())  #hello world
    print(s.replace('say', 'speak'))  #speak hEllo woRld
    print(s.split())  #['say', 'hEllo', 'woRld']
    print(s.find('hE'))  #4
    print(s.find('H'))  #-1
    print(len(s))  #15

    不常用:

    1. swapcase  # 大小写互相转换,字符串中大写变小写,小写变大写
    
    2. lstrip  # 去掉左边空格
    
    3. rstrip  # 去掉右边空格
    
    4. casefold  # 字符串中大写字母变小写,与lower类似(很少使用);lower对某些字符支持不够好,casefold对所有字符都有效

    实例:

    # 输出结果
    SAY HeLLO WOrLD
    hello world  
      hello world

     4.列表的介绍:

        表现形式:[ ],列表可以放大量数据,不限制数据类型,里边的内容用逗号隔开.

        列表和字符串一样也有索引和切片

      常用功能:

        增:

           append(): 给列表追加元素,添加的元素放在列表末尾

             insert(index,object): 把元素插入到列表的index位置,涉及到元素的移动

             extend(): 迭代添加,括号里可以是字符串也可以是一个列表,将字符串或列表里的每一个元素依次添加到原列表的末尾

    append():

    1 lst = ["周杰伦", "王力宏", "周润发"]
    2 lst.append("伍佰")    # 向列表中添加一个元素, 元素放在末尾. 把一个元素追加到列表的末尾
    3 print(lst)

    insert():

    1 lst = ["周杰伦", "王力宏", "周润发"]
    2 lst.insert(1, "马化腾")    # 把元素插入到指定位置. 元素的移动
    3 print(lst)

    extend():

    1 lst = ["周杰伦", "王力宏", "周润发"]
    2 lst.extend(["马云", "王健林", "李嘉诚"])    # 迭代添加
    3 print(lst)

        删:

          pop(): 删除列表的最后一个元素,可以用一个变量来接受被删除的元素

          pop(index): 删除列表index位置的元素

          remove(object): 删除指定元素,但只删除列表的第一个指定元素,其余的不删

          clear(): 清除列表里的全部元素,使之变成一个空列表

          del 列表名[index1 : index2 : 步长 ]: 切片删除,有固定的格式,删除index1到index2的内容,后边可以选择切片的方向

    pop():

    1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
    2 e = lst.pop()   # 返回删除的元素, 删除最后一个
    3 print(e)

    remove():

    1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
    2 lst.remove("大白梨")
    3 print(lst)

    clear():

    1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
    2 lst.clear()
    3 print(lst)

    del():

    1 lst = ["盖伦", "大白梨", "提莫", "大白梨"]
    2 del lst[1:]
    3 print(lst)

        改:

          1.索引修改  通过列表索引来拿到对应的值进行修改操作

          2.切片修改   迭代修改

    索引修改:

    1 lst = ["太白", "五色", "银王", "日天"]
    2 lst[0] = "太黑"
    3 print(lst)
    4 lst[2] = "银角大王"
    5 print(lst)

    切片修改:

    1 lst[1:3] = "马化腾"    # 迭代修改
    2 print(lst)
    3 lst[1:3] = ["周杰伦", "他媳妇", "王力宏媳妇"]
    4 print(lst)

        查:

          列表是⼀一个可迭代对象, 所以可以进行for循环

    1 lst = ["舒克贝塔", "黑猫警长", "熊大熊二", "葫芦娃", "吴佩琪"]
    2 for el in lst:  #  element
    3     print(el)

        常用操作:

          count():  查询字符出现次数

          sort():     把列表元素进行排序

          len():      计算长度

    count():

    1 lst = ["太白", "太黑", "五色", "银王", "日天", "太白"] 
    2 c = lst.count("太白")     # 查询太白出现的次数 
    3 print(c)

    sort():

    1 lst = [1, 11, 22, 2] 
    2 lst.sort()          # 排序. 默认升序 
    3 print(lst) 
    4 lst.sort(reverse=True)  # 降序 
    5 print(lst)

    len():

    1 l = len(lst) # 列表的长度

    2 print(l) 

     列表的嵌套:

      采用降维操作.一层一层的看就好.

    1 lst = [1, "太白", "wusir", ["马虎疼", ["可口可乐"], "王健林"]]
     2 
     3 # 找到wusir 
     4 print(lst[2])
     5 
     6 # 将wusir拿到. 然后首字母大写. 再扔回去
     7 lst[2] = lst[2].capitalize() 
     8 print(lst)
     9 
    10 # 把太白换成太黑 
    11 lst[1] = lst[1].replace("", "") 
    12 print(lst)

    四.元组的介绍:

     元组的介绍:

        不可变的列表. 只读列表. 有索引和切片.

        不可变的是它内部子元素. 如果子元素是列表. 列表中的元素是可以变的.

    元组的基本操作:

    复制代码
     1 tu = (1, "太白", "李白", "太黑", "怎么黑")
     2 print(tu)
     3 
     4 print(tu[0])
     5 print(tu[2]) 
     6 print(tu[2:5])  # 切片之后还是元组
     7 
     8 
     9 
    10 # for循环遍历元组 
    11 for el in tu:
    12     print(el)
    复制代码

    >>>>>>小提示:元组也有count() , sort() , len() 等操作

    三.range

      range介绍:

         作用:数数

         有一个参数:结束为止
              两个参数: 1. 起始位置, 2.结束位置
              三个参数: 1. 起始位置, 2. 结束位置. 3.步长

    range基本应用:

    复制代码
     1 #range() 应用:
     2 for i in range(10): # 从0开始. 到10结束
     3     print(i)
     4 
     5 for i in range(3, 7):   # 从3 开始. 打印到7结束. 不能到7
     6     print(i)
     7 
     8 for i in range(3, 10, 2):  # 从3 到 10 每2个取一个
     9     print(i)
    10 
    11 for i in range(10, -10, -1):  #从10 开始到-10结束. 倒着数
    12     print(i)
    复制代码

    计算:

    复制代码
    1 # 求1-2+3-4...+99-100=?
    2 sum = 0
    3 for i in range(1, 101):
    4     if i % 2 == 0:
    5         sum = sum - i
    6     else:
    7         sum = sum + i
    8 print(sum)
  • 相关阅读:
    20199301 2019-2020-2 《网络攻防实践》 第九周作业
    20199301 2019-2020-2 《网络攻防实践》第八周作业
    第六课 网络安全防范技术实践验收
    20199301 2019-2020-2 《网络攻防实践》 第六周作业
    20199301 2019-2020-2 《网络攻防实践》 第五周作业
    某次发言
    FATE安装部署日志
    期末大作业
    python爬虫
    20199302 2019-2020-2 《网络攻防实践》第12周作业
  • 原文地址:https://www.cnblogs.com/shuai1993/p/9281738.html
Copyright © 2020-2023  润新知