1.列表补充

  • extend()

    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
    s = "qwert"
    li.extend(s)
    print(li)

    将s中的每个元素添加到列表中去

    # 1.有列表 users = ["李忠伟", "堂开发"]
    #           people = ["李鹏", "张思达"]
    users.extend(people) # users中增加
    people.extend(users)# people中增加
    # 2.有列表 users = ["李忠伟", "堂开发"]
    #       元组 people = ("李鹏", "张思达")
    users.extend(people) # users中增加
    people.extend(users) # 只有列表中有extend功能,元组中是没有的。报错
  • pop和del的区别

    li = ["alex", "WuSir", "ritian", "barry", "wenzhou"]
    del li[1]     # 仅仅是删除
    deleted = li.pop(1)       # 在列表中删除,并将删除的此数据赋值给前面的变量
  • del删除 可以使用切片删除一个范围内的元素

    • li[1:8]
  • range()用法补充

    • 从前往后range(0, len, 1) 不取len

    • 从后往前range(len, 0, -1) 不取0,要想取0,range(len, -1, -1)

      range(0, 10, 1)     ---> [0, 1, 2..., 9]
      range(9, -1, -1)    --->[9, 8, 7..., 0]
  • join的用法

    • 不仅可以作用于字符串,也可以作用于列表和元组
  • 面试题

    • 注意点:元组内部必须加逗号
    """
    16.面试题
    v1 = 1      ---> int
    v2 = (1)    ---> int
    v3 = (1,)   --->tuple
    print(type(v1), type(v2), type(v3))
    """
    # data = [(1), (2), (3)]  # 相当于[1, 2, 3]

2.数据类型总结和补充

  • int

    • py2/py3
    • 除法
    • 强制转换:
      • int('字符串') 【重要】
      • int(布尔值)
  • bool

    • 强制转换:

      • bool(整数) -> bool(1)/.. -> bool(0)

      • bool(字符串) -> bool('xx') --> bool("")

      • bool(列表) -> bool([]) --> bool([])

      • bool(元组) -> bool(()) --> bool(空元组)

        v1 = bool(0)
        v2 = bool("")
        v3 = bool([])
        v4 = bool(())
        print(v1,v2,v3,v4) # False
  • str

    • 独有功能:upper/lower/split/strip/replace/isdigit/startswith/endswith/format/join/encode
    • 公共公共:
      • len
      • 索引
      • 切片
      • 步长
      • for循环
      • 删除【无】
      • 更新【无】
    • 强制转换:
      • str(999) # "999"
      • str(True) # "True"
      • str(["唐开发",'李忠伟']) # "["唐开发",'李忠伟']" --> v2 = "".join(["唐开发",'李忠伟'])
      • str(["唐开发",'李忠伟'])
  • list

    • 独有功能:append/insert/pop/remove/clear/ extend

    • 公共功能:

      • len
      • 索引
      • 切片
      • 步长
      • for循环
      • 删除
      • 更新
    • 强制转换:

      • list("asdfadfasfdadfasfd")

        v1 = list("asdfadfasfdadfasfd")
        print(v1)
      • list( (11,22,33,44,) )

        v1 = list( (11,22,33,44,) )
        print(v1)
  • tuple

    • 独有功能【无】

    • 公共功能:

      • len
      • 索引
      • 切片
      • 步长
      • for循环
      • 删除【无】
      • 更新【无】
    • 强制转换:

      • tuple('adfadfasdfasdfasdfafd')

        v1 = tuple('adfadfasdfasdfasdfafd')
        print(v1)
      • tuple([11,22,33,44])

        v1 = tuple([11,22,33,44])
        print(v1)
  • 总结

    • 常见的类型转换

      # 字符串转数字
      
      # 数字转字符串
      
      # 列表转元组
      
      # 元组转列表
      
      # 其他转bool时,只有:0 “”  []  () 
      # 练习题
      nums = [11,22,33,44]
      for i in range(0,len(nums)):
          nums[i] = str(nums[i])
      resutl = '_'.join(nums)
      print(resutl)
      
      # 1. "".jon([元素必须是字符串,元素必须是字符串,])

3.字典

帮助用户去表示一个事物的信息(事物是有多个属性)。

info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'} # 键值

# 请输出:我今天点%s,他的年龄是%s,性别是%s,他喜欢他的%s;

基本格式

data = {键:值,键:值,键:值,键:值,键:值,键:值,}
# 练习题
userinfo = {'usenrame':'alex','password':"oldboy"}

user = input('请输入用户:')
pwd = input('请输入密码:')

if userinfo['username'] == user and userinfo['password'] == pwd:
    print('登陆成功')
else:
    print('用户名或密码错误')

  1. 独有功能

    info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
    • keys,获取字典中所有的键。 ['name','age','gender','hobby']

      # for item in info.keys():
      #     print(item)
    • values,获取字典中所有的值。 ['刘伟达','18','男','同桌']

      # for item in info.values():
      #     print(item)
    • items,获取字典中的所有键值对。

      # for v1,v2 in info.items():
      #     print(v1,v2)
      info.items() # 得到的是一个键值对元组,因此可以用v1, v2 in (元组)分别取出其中的值并赋值

额外注意点:

  • a, b = [1, 2]   #可以是列表和元组
    print(a, b)
  1. 公共功能

    • len

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      print(len(info))
    • 索引

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      info['name']
      info['age']
    • 切片【无】

    • 步长【无】

    • for

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      
      for item in info.keys():
          print(item)
      
      for item in info.values():
          print(item)
      
      for k,v in info.items():
          print(k,v)
    • 修改(存在就修改/不存在就增加)

      # 改值
      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      info['age'] = 19
      print(info)
      
      # 改键
      # 删除后再增加
      del info['hobby']
      info['xxxxx'] = 'x1'
    • 删除

      info = {"name":'刘伟达','age':18,'gender':'男','hobby':'同桌'}
      
      del info['name']
      print(info)
      

系统学习python第五天学习笔记的更多相关文章

  1. Python学习---Python下[元组]的学习

    元组是不可变的, 用小括号()定义,而且一旦定义 ,不可变[类型是tuple] [元组看做一个整体,不可拆分,不可赋值,但可以全部重新赋值] 通过圆括号,用逗号分隔,常用在使语句或用户定义的函数能够安 ...

  2. 【Python】Java程序员学习Python(五)— 函数的定义和使用

    不想做一个待宰的羔羊!!!!要自己变得强大.... 函数的定义和使用放在最前边还是有原因的,现在语言趋于通用,基本类型基本都是那些,重点还是学习对象的使用方法,而最根本的还是方法的使用,因此优先介绍, ...

  3. 学习Python不得不关注和学习的国外大神博客

    注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...

  4. 系统学习python第三天学习笔记

    day02补充 运算符补充 in value = "我是中国人" # 判断'中国'是否在value所代指的字符串中. "中国"是否是value所代指的字符串的子 ...

  5. 系统学习python第七天学习笔记

    1.get方法用法补充 info = {'name':'王刚蛋','hobby':'铁锤'} while True: data = input('请输入:') val = info.get(data, ...

  6. 系统学习python第四天学习笔记

    1.解释 / 编译补充 编译型:代码写完后,编译器将其变成成另外一个文件,然后交给计算机执行. 解释型:写完代码交给解释器,解释器会从上到下一行行代码执行:边解释边执行. [实时翻译] 2.字符串功能 ...

  7. Python 第五阶段 学习记录之---Django 基础

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  8. Python 第五阶段 学习记录之---Django 进阶

    Model 一.创建表 1.基本结构 字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bi ...

  9. Python 第五阶段 学习记录之--- Web框架

    什么是web服务器的原理是什么 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env pyt ...

随机推荐

  1. 蓝桥杯-机器繁殖 第6届C语言C组决赛第4题

    题目叙述: 标题:机器人繁殖 X星系的机器人可以自动复制自己.它们用1年的时间可以复制出2个自己,然后就失去复制能力.每年X星系都会选出1个新出生的机器人发往太空.也就是说,如果X星系原有机器人5个, ...

  2. 爬虫(十七):Scrapy框架(四) 对接selenium爬取京东商品数据

    1. Scrapy对接Selenium Scrapy抓取页面的方式和requests库类似,都是直接模拟HTTP请求,而Scrapy也不能抓取JavaScript动态谊染的页面.在前面的博客中抓取Ja ...

  3. 027-PHP编码和解码函数base64

    <?php $data = "我爱PHP";//解码前的值 print("我爱PHP: " . base64_encode($data)); //进行解码 ...

  4. (转)深入理解JVM—JVM内存模型

    原文地址:http://www.cnblogs.com/dingyingsi/p/3760447.html 我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互 ...

  5. java 实体 set数据 报空指针异常

    今天在做一个调用阿里云AXB隐私保护,需要调用通话记录的消费队列,然后set到实体中,然后插入到数据库,但是set的这一步报错 以为工具拿不到值,然后打印发现是有值的, 然后再看一下实例的类型是没错的 ...

  6. UVA - 10954 Add All (全部相加)(Huffman编码 + 优先队列)

    题意:有n(n <= 5000)个数的集合S,每次可以从S中删除两个数,然后把它们的和放回集合,直到剩下一个数.每次操作的开销等于删除的两个数之和,求最小总开销.所有数均小于10^5. 分析:按 ...

  7. HDU 5282:Senior's String

    Senior's String  Accepts: 30  Submissions: 286  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit ...

  8. 洛谷 P2004 领地选择

    题目传送门 解题思路: 二维前缀和. AC代码: #include<iostream> #include<cstdio> using namespace std; ][],an ...

  9. ROS常见问题(二) 运行文件时报错environment variable ' ###_MODEL' is not set

    作者在配置pibot机器人时报错: Invalid <arg> tag: environment variable 'PIBOT_MODEL' is not set. Arg xml is ...

  10. ACM蒟蒻防bug专用 ( •̀ ω •́ )✧

    /*********************************************** * _ooOoo_ * * o8888888o * * 88" . "88 * * ...