Python学习 day04
一、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的更多相关文章
- Python学习 day04打卡
今天学习的主要内容: 一,列表 1,列表的介绍 列表是python的基础数据类型之一,其他编程语音也有类似的数据类型.例如:JS 中的数组Java中的数组等等. 它是以[]括起来,每个元素用',隔开而 ...
- Python学习day04 - Python基础(2)数据类型基础
<!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
- day04:Python学习笔记
day04:Python学习笔记 1.算数运算符 1.算数运算符 print(10 / 3) #结果带小数 print(10 // 3) #结果取整数,不是四舍五入 print(10 % 3) #结果 ...
- python学习之旅
python学习分类 python基础 +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...
- Python学习--04条件控制与循环结构
Python学习--04条件控制与循环结构 条件控制 在Python程序中,用if语句实现条件控制. 语法格式: if <条件判断1>: <执行1> elif <条件判断 ...
- Python学习--01入门
Python学习--01入门 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.和PHP一样,它是后端开发语言. 如果有C语言.PHP语言.JAVA语言等其中一种语言的基础,学习Py ...
- Python 学习小结
python 学习小结 python 简明教程 1.python 文件 #!/etc/bin/python #coding=utf-8 2.main()函数 if __name__ == '__mai ...
- Python学习路径及练手项目合集
Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159
- python学习笔记-python程序运行
小白初学python,写下自己的一些想法.大神请忽略. 安装python编辑器,并配置环境(见http://www.cnblogs.com/lynn-li/p/5885001.html中 python ...
随机推荐
- razor自定义函数 @helper 和@functions小结
from:http://www.cnblogs.com/jiagoushi/p/3904995.html asp.net Razor 视图具有.cshtml后缀,可以轻松的实现c#代码和html标签的 ...
- smartUpload上传下载
上传 file_upload_smart_form.jsp文件代码 <%@ page contentType="text/html;charset=gb2312" langu ...
- Unity本地持久化类Playerprefs使用详解
一.PlayerPrefs是什么? PlayerPrefs是Unity3d提供了一个用于数据本地持久化保存与读取的类.工作原理十分简单,就是以key-value的形式将数据保存在本地,然后在代码中可以 ...
- 所谓IIS未注册引起的故障及解决
- angular 事件绑定
<button (click)="onClick($event)">点我</button> import { Component, OnInit } fro ...
- Socket 简易静态服务器 WPF MVVM模式(一)
整体代码下载 主要实现功能: Socket的简单应用 可修改IP和端口 显示来访信息 界面设计: 界面采用MVVM设计,很简陋. 前台的主要目的是 输入IP地址 输入端口 输入文件目录 开启监听和停止 ...
- 「CF622F」The Sum of the k-th Powers「拉格朗日插值」
题意 求\(\sum_{i=1}^n i^k\),\(n \leq 10^9,k \leq 10^6\) 题解 观察可得答案是一个\(k+1\)次多项式,我们找\(k+2\)个值带进去然后拉格朗日插值 ...
- django中博客后台将图片上传作为用户头像
添加上传目录 # 如果不添加上传目录,仍然可以上传成功,默认为project目录,如果models.py定义了upload_to="目录名称",则会上传到"project ...
- python 安装虚拟环境步骤
1.python3.6.3 注: 1.安装的时候,装上你的pip 2.安装的时候,把环境变量记得勾选 3.如果你手动更改安装位置,更改到随意的盘根目录下 2.MySQL pycharm最好安 ...
- 【BZOJ3589】动态树 树链剖分+线段树
Description 别忘了这是一棵动态树, 每时每刻都是动态的. 小明要求你在这棵树上维护两种事件 事件0: 这棵树长出了一些果子, 即某个子树中的每个节点都会长出K个果子. 事件1: 小明希望你 ...