一、list

list可以存放各种类型的数据,与java中list类差不多,比如li = ['keith', 1, True, [1, 2, 3], {name: 'tangtang', age: 18}];

并且列表是有序的、有索引的、可切片、方便取值。

基本索引与切片类似str。

列表的基本操作

  • append()  --  追加一个元素0
  • extend()  --  追加多个元素,extend的参数必须是可迭代的对象,否则报错。例:
# extend
list = ['Mary', 'Sue', 'Lily']
list.extend('Smith')
print(list) list = ['Mary', 'Sue', 'Lily']
list.extend(('Zet', 'Bob'))
print(list) list = ['Mary', 'Sue', 'Lily']
list.extend({'name': 'Ann', 'name': 'John', 'age': 20})
print(list)

结果:

  • insert()  --  插入一个元素,插入的位置为参数之前。

  • pop()  --  按索引取出,默认取最后一个,返回取出的元素
  • remove()  --  按元素删除,无返回值
  • clear()  --  清空列表
  • del 关键字  --  删除列表,也可切片删除,例:
li = ['Mary', 'Sue', 'Lily', 'Harry', 'Nancy']
del li[2:4]
print(li)
del li
print(li)

结果:

  • 直接使用下标:li[1] = XX
  • 切片修改,例:
# 切片修改会删除索引内的元素,然后在切片位置将可迭代的对象迭代插入
li = ['Mary', 'Sue', 'Lily', 'Harry', 'Nancy']
li[2:4] = 'Sally'
print(li)

结果:

  • for循环查,基本代码:
for i in 列表:
print(i)
  • 切片查,如:li[2:9]

其他操作

  • sort() -- 排序,从小到大,sort有一个参数reverse,默认为False,设置为True倒序排序,例:
li = [2, 5, 1, 8, 5, 9, 4]
li.sort(reverse=True)
print(li)

结果:

  • reverse() -- 反转,例:
li = [2, 5, 1, 8, 5, 9, 4]
li.reverse()
print(li)

结果:

二、tuple

元祖,被称为只读列表,只能查询,不能修改。但存在特殊情况,如:

t = (2, 'lala', [2, 0, 3, 8, 1], 'yangmeme  ', ('fea', 2, 0))
t[2][3] = 12
t[2].append('hei')
print(t)
t[3] = t[3].upper()
print(t)

结果:

三、公共方法

  • len()
  • count()
  • index()  注:列表中没有find()方法,查询某元素只能用index(),查询不到报错
  • str.join(sequence)  --  将序列中的元素以指定的字符连接生成一个新的字符串,序列不能是数字序列。可以用来做列表元祖等转换成字符串,str()也可以做转换,但仅仅只是在外层加个引号而已。例:
#join
l = ['糖糖', '酥酥', 'yang', 'jian']
print('++'.join(l))
s = 'AAAAA'
print('a'.join(s))
t1 = ('', '', '', '', '')
t2 = (1, 3, 5, 6, 9)
print('*'.join(t1))
print('*'.join(t2))

结果:

四、range()

range()  --  函数可创建一个整数列表,一般用在 for 循环中,例:

for i in range(3, 8):
print(i)

结果:

range(首, 尾, 步长) ,若以0为开头,0可省略

五、小知识

python2在编译安装时,可以通过参数 --enable-unicode=ucs2 或 --enable-unicode=ucs4 分别用于指定使用2个字节、4个字节表示一个unicode字符;python3无法进行选择,默认使用ucs4。

查看当前python中表示unicode字符串时占用的空间:

import sys
print(sys.maxunicode)
# 如果值是 65535,则表示使用ucs2标准,即:2个字节表示
# 如果值是 1114111,则表示使用ucs4标准,即:4个字节表示

Python学习 day04的更多相关文章

  1. Python学习 day04打卡

    今天学习的主要内容: 一,列表 1,列表的介绍 列表是python的基础数据类型之一,其他编程语音也有类似的数据类型.例如:JS 中的数组Java中的数组等等. 它是以[]括起来,每个元素用',隔开而 ...

  2. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

  3. day04:Python学习笔记

    day04:Python学习笔记 1.算数运算符 1.算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果 ...

  4. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  5. Python学习--04条件控制与循环结构

    Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...

  6. Python学习--01入门

    Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...

  7. Python 学习小结

    python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...

  8. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  9. python学习笔记-python程序运行

    小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...

随机推荐

  1. [redis]redis-cluster搭建

    1.概述: redis是一种工作在内存里no-sql的非关系型数据库,广泛应用于缓存需求,以减少大量的数据访问对数据库的压力,还很适合用来充当整个互联网架构中各级之间的cache 比如lvs的4层转发 ...

  2. 基于任务的异步编程模式,Task-based Asynchronous Pattern

    术语: APM           异步编程模型,Asynchronous Programming Model,其中异步操作由一对 Begin/End 方法(如 FileStream.BeginRea ...

  3. 对于网站,APP开发流程的理解

    • 明确产品目标用户,目标市场 • 明确将要开发的产品面世后是要解决什么样的问题 • 梳理产品有哪些功能点,功能点如何按照模块划分 • 站在用户角度思考用户怎样使用这款产品,以故事的情景讲述用户如何使 ...

  4. c# Include 与 用户控件

    <!-- #Include File="~/App_UC/head.bootstrap.aspx --> 这个路径文件可以是你html代码,也可以是应用脚本文件, 原理:跟用户控 ...

  5. CRC-32 校验算法

      crc32的头文件 ===========================分割线=========================== //crc32.h #ifndef _CRC32_H #de ...

  6. 基于 cookie 的 node 中间层灰度流程的一些思考

    此文已由作者申国骏授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 前言 关于灰度发布的意义此处就不进行介绍了,可以先读下这两篇文章 <微服务部署:蓝绿部署.滚动部署.灰 ...

  7. Javascript 上传文件到Azure存储

    对一些前端工程师来讲,使用javascript上传文件到Azure存储中可能是需要掌握的技能,希望这篇博客能给到帮助. 在开始前我们需要了解以下几点: 共享访问签名(Shared Access Sig ...

  8. 【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解

    迭代局部搜索(Iterated Local Search, ILS) 源代码下载请关注微信公众号[程序猿声],在后台回复:[ILS],不包括[]即可下载. 00 目录 局部搜索算法 简单局部搜索 迭代 ...

  9. Eclipse设置自动生成的javadoc

    1.点击 Window -> Preference -> Java -> Code Style -> Code Template ,在右边选择 Comments -> 相 ...

  10. 快速排序(一) 思想 JAVA实现

    已知数组59.71.37.56.88.96.21.58.48.43 采用快速排序将数组有序. 快速排序同样采用了“分治策略”,使用递归的思路来实现算法. 快速排序的算法思想: 9.71.37.56.8 ...