## 第四章

### 今日内容

- 列表
- 元组
- range

### 列表

列表相比于字符串,不仅可以储存不同的数据类型,而且可以储存大量数据,是一种可变的数据类型

64位python的限制是 1152921504606846975 个元素。而且列表是有序的,有索引值,可切片,方便取值

#### 1.列表的增加

```
lst = ['q','w','e','r',5,9]
lst.append(10) #追加,在最末尾的地方进行添加

lst.insert(2, 's') #插入,在指定的索引值进行添加

lst.extend([1,2,3,4]) #迭代添加,把迭代的元素一个一个添加进列表

for i in [1,2,3,4]:
lst.append(i) # 把数据一个一个添加进列表
```

#### 2.列表的修改

```
lst = [1,3,4,5,6,34]
lst[1] = 99 #通过索引值删除

lst[1:3] = "20" #通过切片进行修改,默认步长是1,必须是可迭代对象,修改的内容可多可少

lst[1:5:2] = 1000,100 #步长不为1的时候,必须一一对应
```

#### 3.列表的删除

```
lst = ['q','w','e','r']
print(repr(lst.pop(2))) #默认删除最后一个元素并返回,repr()查看当前数据的原生态

lst.clear() #清空列表

del lst[2]
del lst[0:2] # 通过切片删除
del lst[1:4:2] # 通过步长删除
```

#### 4.列表的查

```
lst = [1,1,8,7,9]
for循环
for i in lst:
print(i)

索引
lst[索引下标]
```

#### 5.列表的嵌套

```
lst = ['one','two',['basketball',['dance','apple'],['score','qwer']],
['a','three','wqer']]
通过索引下标随便指定并取出
basketball
print(lst[2][1])
```

### 元组

tuple不可变数据类型,只支持查询

#### 元组的方法

- 获取索引
- 统计

```
tu = (1,2,3,4,5,6,7,8,9)
print(tu.count(1))
print(tu.index(2)) # 通过元素查询索引
```

#### range

range的诞生是为了解决不能循环数字

```
for i in range(2,10,2):
print(i)

for i in range(100):
print(i)

range(1,10) # [起始位置:终止位置] 顾头不顾尾
range(1,10,2) # [起始位置:终止位置:步长] 默认为 1
range(10)   # 10代表的是终止位置,起始位置默认为 0
range是一个可迭代对象
```

PythonDay04的更多相关文章

  1. Python--day04(流程控制)

    day03主要内容回顾 1.变量名命名规范 -- 1.只能由数字.字母 及 _ 组成 -- 2.不能以数字开头 -- 3.不能与系统关键字重名 -- 4._开头有特殊含义 -- 5.__开头__结尾的 ...

  2. pythonday04数据类型(二)

    今日内容: 1.列表 2.元组 3.py2与py3的区别 4解释器/编译器 5.练习题 1.列表 想要表示多个”事物“,可以使用列表 users = ["李邵奇","奇航 ...

随机推荐

  1. 一个commit引发的思考

    这几天我翻了翻golang的提交记录,发现了一条很有意思的提交:bc593ea,这个提交看似简单,但是引人深思. commit讲了什么 commit的标题是"sync: document i ...

  2. 记一次linux通过jstack定位CPU使用过高问题或排查线上死锁问题

    一.java定位进程 在服务器中终端输入命令:top 可以看到进程ID,为5421的cpu这列100多了. 记下这个数字:5421 二.定位问题进程对应的线程 然后在服务器中终端输入命令:top -H ...

  3. JDK1.8之ConcurrentHashMap

    目录 简介 JDK1.7 JDK1.8 重要属性 Node类 ForwardingNode类 原子操作和Unsafe类 重要方法 初始化表操作(initTable) 插入键值对(put和putVal) ...

  4. HDU 6058:Kanade's sum(思维)

    题目链接 题意 给出一个n和一个k,求1~n的每个区间的第k大的总和是多少,区间长度小于k的话,贡献为0. 思路 首先有一个关系:当一个数是第k大的时候,前面有x个比它大的数,那么后面就有k-x-1个 ...

  5. Codeforces Gym100543L:Outer space invaders(区间DP)

    题目链接 题意 有n个人,每个人有一个出现时间a和一个开枪时间b和一个距离d,在任意一个时刻,你可以选择炸人,你要炸一个人的花费是和他的距离d,并且所有的已经出现并且还没开枪的和你距离<=d的人 ...

  6. java中动态代理的使用

    代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等.代理类与委托类之间通常会存在关联关系,一个代 ...

  7. CDQZ集训DAY10 日记

    又一次跪了,跪在了神奇的数据范围上. T1上来打完暴力之后觉得是数据结构题,像三维偏序,于是开始往各种数据结构上想,主席树,线段树+calc,平衡树,树套树,CDQ……最终在经过一番思考之后选择去打C ...

  8. Bzoj1972: [Sdoi2010]猪国杀 题解(大模拟+耐心+细心)

    猪国杀 - 可读版本 https://mubu.com/doc/2707815814591da4 题目可真长,读题都要一个小时. 这道题很多人都说不可做,耗时间,代码量大,于是,本着不做死就不会死的精 ...

  9. Java面试题汇总---基础版(附答案)

    基于我个人对面试的认知和招聘经验,在此我总结一下Java开发者的基础知识掌握要求,及应聘者面试的需要准备的内容. 首先,Java基础是每个面试官都会问到的,可能只是针对工作经验的多少,对问题追踪深度有 ...

  10. 入职两个月,WPF开发感想

    1 .新工作,新开始 2.WPF初次接触以及学习MVVM开发模式 3.后台数据操作,ORACLE 存储过程(边做边学) 4.总结 4.1工作开发中的小问题 ,遇到的坑:  4.2 解决的问题,学校到的 ...