第七节

1,基础数据类型补充

  • str:

    • print(str.capitalize()) —— 首字母大写

    • print(str.title()) —— 每个单词的首字母大写

    • print(str.swapcase()) —— 大小写转换,字符串中大变小,小变大

    • print(str.center(大于str总数的数字,"分割符号")) —— 居中,填充

    • print(str.fimd("元素")) —— 查找 通过元素查找索引,查找不到时返回-1

      print(str.index("元素")) —— 查找 通过元素查找索引,查找不到时就报错

    • print("分割符".join(list)) —— 拼接,将列表转换成字符串

    • 字符串进行加操作,乘操作都是开辟新的空间

  • list:

    • print(list("1237654")) ——列表的定义

    • print(list.index("元素")) —— 通过元素查找索引

    • list.sort() —— 排序,默认是升序

    • list.sort(reverse=True) —— 降序,将升序反转

      list.sort()

      list.reverse() ——人工降序

    • list.reverse() —— 将源数据进行反转

      lst = [1,23,4,5,7,8,9]lst.reverse()print(lst)               # 将源数据进行反转​lst1 = lst[::-1]print(lst)print(lst1)              # 不修改源数据进行反转
    • 列表在进行乘法的时候,元素是共用的

  • tuple:

    # 面试:tu = (1)tu1 = ("alex")tu2 = (1,)# 元组tu3 = ()# 元组​tu4 = (12,3,4) + (4,5,3,4)print(tu4) # (12, 3, 4, 4, 5, 3, 4)tu5 = (1,[]) * 3print(tu5)# (1, [], 1, [], 1, [])tu5[-1].append(10)print(tu5)# (1, [10], 1, [10], 1, [10])
  • dict

    • print(dic.popitem()) —— 随机删除,python3.6版删除最后一个键值对

      popitem返回的是被删除的键值对

      # 面试题:dic = {}dic.fromkeys("abc",[]) print(dic)# {}print(dic.fromkeys("abc",[]))# 批量创建键值对 {"a":[],"b":[],"c":[]}"a":[],"b":[],"c":[]}dic = dic.fromkeys("abc",[]) # 给批量这个赋值给dicprint(dic)# {"a":[],"b":[],"c":[]}"a":[],"b":[],"c":[]}dic["b"] = 11dic["a"].append(10)print(dic)# {'a': [10], 'b': 11, 'c': [10]}
    • fromkeys 第一个参数必须是可迭代对象,会将可迭代对象进行迭代,成为字典的键,第二个参数是值(这个值是共用的)

    • fromkeys 共用的值是可变数据类型就会有坑,不可变数据类型就没事

  • 基础数据利类型总结:可变,不可变,有序,无序

    • 可变:

      • list

      • dict

      • set

    • 不可变:

      • int

      • str

      • tuple

      • bool

    • 有序,可索引:

      • str

      • list

      • tuple

    • 无序,不可索引:

      • set

      • dict

  • 数据类型转换

    int <——> str

    s = str(int),没有条件

    i = int(str),转换的字符串必须是数字

    int <——> bool

    非0就是True,0是False

    转换数字:F = 0,T = 1

    str <——> bool

    Fasle = "" , True = " "

    str = "False" ,str = "True"

    list <——> tuble

    list = list(tuple)

    tuple = tuple(list)

    list <——> set

    list = list(set)

    set = set(list)

    tuple <——> set

    tuple = tuple(set)

    set = set(tuple)

    以下非常重要:

    list ——> str

    lst = ["1","2","3"]print("".join(lst))

    str ——> list

    s = "alex wusir 太白"print(s.split())

2,可能会遇到的坑

  • 死循环lst = [1,2,3]for i in lst:    lst.append(4)print(lst)# 打印不出来,lst = [1,2,3,4,4,4,...]无限4
  • lst = [11,22,33,44]for i in lst:    lst.remove(i)print(lst)# [22,44]​for i in lst:    del lst[-1]print(lst)# [11,22]​for i in range(len(lst)):    del lst[-1] # or lst.pop()print(lst)# []​lst1 = lst[:]for i in lst1:    lst.remove(i)print(lst)# []​# 使用for循环清空列表元素内容# 1.从后向前删除, 2.创建一个新的容器,循环新的容器删除旧的容器内容
  • # 面试题lst = [1,[2]]lst[1] = lstprint(lst)# 答案: [1, [...]]
  • # 字典和集合:dic = {"key":1,"key1":2}​for i in dic:    if i == "key1":        dic[i] = dic[i] + 8  # dic[i] = 10    else:        print("没有这个键!")print(dic)# 字典和集合在遍历(循环)时不能修改原来的大小(字典的长度),可以进行修改值s = {1,2,3,4,5,6}for i in s:    s.pop()print(s)# 会报错,不能改变集合的长度

3,二次编码

  • .encode(编码格式) —— 编码

  • .decode(编码格式) —— 解码

    注意,用什么编码就要用什么解码,网络传输一定是字节

    python2,ascii

    python3,unicode

python_0基础开始_day07的更多相关文章

  1. python_0基础学习_day02

    第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...

  2. python_0基础学习_day01

    Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...

  3. python_0基础开始_day06

    第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...

  4. python_0基础开始_day03

    第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 ​#得出结果 将十进制的168转 ...

  5. python_0基础开始_day05

    第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...

  6. python_0基础开始_day04

    第四节 一.列表 list 数据类型之一,存储大量的,不同类型的数据 列表中只要用逗号隔开的就是一个元素 有序可变的. 1.1列表的索引 列表和字符串一样也拥有索引,但是列表可以修改: lst = [ ...

  7. python_0基础开始_day13

    第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...

  8. python_0基础开始_day12

    第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...

  9. python_0基础开始_day11

    第十一节 一,函数名的第一类对象 函数名当作值,赋值给变量 print(函数名) 查看看书的内存地址 函数名可以当作容器中的元素 lis = []dic = {}def func():    prin ...

随机推荐

  1. centos后台运行python程序

    在服务器上,为了退出终端,程序依然能够运行,需要设置程序在后台运行. 关键的命令:nohup *基本用法:进入要运行的py文件目录前 nohup python  -u test.py > tes ...

  2. Xargs用法详解(自创)

    简介之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数,而日常工作中有有这个必要,所以就有了xargs命令,例如: 这个命令是错误的find /sbin -perm +700 |ls -l ...

  3. ARTS打卡计划第六周

    Algorithms: https://leetcode-cn.com/problems/longest-palindromic-substring/ 中心扩展法首先考虑,当然看到有个动态规划,一直很 ...

  4. ftp协议在linux上的配置

    第一步:安装 yum install -y vsftpd 第二步:启动ftp服务:vsftpd [root@localhost ~]# systemctl start vsftpd 第三步:查看启动状 ...

  5. Ubuntu16 升级nodejs版本

    Ubuntu16下,使用apt-get下载的nodejs最新版本为v4.2.6,而react-native需要v8.x及以上的版本 解决方法在网上找到了这一篇博客Ubuntu安装最新版nodejs,用 ...

  6. Mac 下 Android Studio 连 夜神模拟器 调试

    1.运行夜神模拟器(自行搜索下载) 2.进入资源目录 cd /Applications/Nox\ App\ Player.app/Contents/MacOS 3.执行命令连接 adb connect ...

  7. mssql表分区

    1:表分区 什么是表分区一般情况下,我们建立数据库表时,表数据都存放在一个文件里.但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小 ...

  8. 集群中配置多台机器之间 SSH 免密码登录

    集群中配置多台机器之间 SSH 免密码登录 问题描述 由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署. 但是,这就涉及到机器间的 SSH 免密码互通问题. 当集群机器比较多的时候 ...

  9. <转>经典测试用例:电梯、杯子、桌子、洗衣机

    1.测试项目:电梯 需求测试:查看电梯使用说明书.安全说明书等 界面测试:查看电梯外观 功能测试:测试电梯能否实现正常的上升和下降功能.电梯的按钮是否都可以用: 电梯门的打开,关闭是否正常:报警装置是 ...

  10. python-Web-django-邮箱登陆

    setting: # 发送邮箱 EMAIL_HOST = 'smtp.163.com' EMAIL_PORT = 465 EMAIL_HOST_USER = '666666@163.com' #EMA ...