2020-11-07

常用数据结构

1.列表list
列表是python中最基本的数据结构,是最常用的python数据类型,列表将由若干数据作为元素的序列放置在一对中括号中,元素之间以逗号分割
python列表是可以修改的,修改方式包括向列表添加元素,从列表删除元素以及列表的某个元素进行修改
(1)列表的创建,即用一对中括号将以逗号分割的若干个数据(表达式的值)括起来
在这里插入图片描述
(2)列表访问
列表访问,也就是对列表的索引操作的过程,并返回索引位置上的元素,列表中的每个元素被关联一个序号,即元素的位置,也称为索引
在这里插入图片描述
(3)列表元素
列表中的元素可以通过重新赋值来更改某个元素的值,要注意列表元素的合法索引范围,超过范围则会出错
在这里插入图片描述
(4)列表切片
在列表中,可以使用切片操作来选取指定位置上的元素组成新的列表
当切片开始值与结束值均省略,且步长step大于0,表示整个原列表范围内,切片索引从第0 个位置开始,每次增长step,直到超越原列表的索引范围

(5)del命令
使用del命令可以从列表中删除元素,也可以删除整个列表
在这里插入图片描述
(6)列表运算
1.通过列表相加的方法生成新的列表
在这里插入图片描述
2.列表相乘
在这里插入图片描述
(7)列表方法
1.index()方法
在这里插入图片描述
2.count()方法
在这里插入图片描述
3.append()方法
在这里插入图片描述
4.extend()方法
在这里插入图片描述
5.insert()方法
在这里插入图片描述
6.remove()方法
7.pop()方法
在这里插入图片描述
8.clear()方法
9.reverse()方法
在这里插入图片描述
10.sort()方法
在这里插入图片描述
8.列表函数
1.len()函数
2.max()函数
3.min()函数
4.reversed()函数
5.sorted()函数
在这里插入图片描述
在这里插入图片描述
9.列表遍历
可以通过for语句或者while语句循环遍历列表中所有元素

元组tuple

元组由不同的元素组成,内个元素的数据类型可以各不相同,如字符串,数字和元组等
1.元组创建
元组的创建,即用一对小括号以逗号分隔的若干元素(数据,表达式的值)括起来
在这里插入图片描述
2.元组访问
和列表一样,可以通过索引,切片来访问元组的成员
在这里插入图片描述
3.元组运算
列表运算基本上都使用与元组
1.元组相加
2.元组相乘

4.元组遍历
与列表类似,也可以通过for语句或者while语句实现循环遍历元组中的所有元素

列表与元组

可以使用 Java 的 LocalDateTime 类来处理时间。 首先,我们需要将给定的时间段转换为 LocalDateTime 对象: ```java LocalDateTime start = LocalDateTime.of(2020, 11, 20, 0, 0, 0); LocalDateTime end = LocalDateTime.of(2021, 10, 9, 23, 59, 59); ``` 这里将结束时间设置为 23:59:59 是因为我们想要包含该日期的所有时间。 接下来,我们可以使用一个循环来遍历时间段的每一天,并获取该天的开始时间和结束时间: ```java LocalDateTime current = start; while (!current.isAfter(end)) { LocalDateTime dayStart = current.withHour(0).withMinute(0).withSecond(0).withNano(0); LocalDateTime dayEnd = current.withHour(23).withMinute(59).withSecond(59).withNano(999999999); System.out.println("Day " + current.toLocalDate() + " starts at " + dayStart + " and ends at " + dayEnd); current = current.plusDays(1); } ``` 这里,我们使用 `withHour`、`withMinute`、`withSecond` 和 `withNano` 方法来设置每天的开始时间和结束时间。然后,我们可以使用 `plusDays` 方法来增加 `current` 对象的日期,以便遍历整个时间段。 完整代码如下: ```java import java.time.LocalDateTime; public class Main { public static void main(String[] args) { LocalDateTime start = LocalDateTime.of(2020, 11, 20, 0, 0, 0); LocalDateTime end = LocalDateTime.of(2021, 10, 9, 23, 59, 59); LocalDateTime current = start; while (!current.isAfter(end)) { LocalDateTime dayStart = current.withHour(0).withMinute(0).withSecond(0).withNano(0); LocalDateTime dayEnd = current.withHour(23).withMinute(59).withSecond(59).withNano(999999999); System.out.println("Day " + current.toLocalDate() + " starts at " + dayStart + " and ends at " + dayEnd); current = current.plusDays(1); } } } ``` 输出结果如下: ``` Day 2020-11-20 starts at 2020-11-20T00:00 and ends at 2020-11-20T23:59:59.999999999 Day 2020-11-21 starts at 2020-11-21T00:00 and ends at 2020-11-21T23:59:59.999999999 Day 2020-11-22 starts at 2020-11-22T00:00 and ends at 2020-11-22T23:59:59.999999999 ... Day 2021-10-07 starts at 2021-10-07T00:00 and ends at 2021-10-07T23:59:59.999999999 Day 2021-10-08 starts at 2021-10-08T00:00 and ends at 2021-10-08T23:59:59.999999999 Day 2021-10-09 starts at 2021-10-09T00:00 and ends at 2021-10-09T23:59:59.999999999 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值