Python基础编程学习笔记(一)列表与元组

本文详细介绍了在PyCharm环境下使用Python3.11.9时,关于通用序列操作如索引、分片、加法、乘法和成员资格检查,以及列表和元组的创建、基本操作、方法(如count、append、extend、index等)的讲解。
摘要由CSDN通过智能技术生成

目录

编译环境Pycharm + Python3.11.9

1.1 通用序列操作

 1.1.1 索引

 1.1.2 分片

1.1.3 序列相加

1.1.4 乘法

1.1.5 成员资格

1.1.6 长度、最小值、最大值

 1.2 列表

1.2.1 list函数

1.2.2 基本的列表操作

        1. 元素赋值

        2.删除元素

        3.分片赋值

1.2.3 列表方法

        1.count

        2.append

        3.extend

        4.index


编译环境Pycharm + Python3.11.9

1.1 通用序列操作

        序列类型可以进行的操作包括:索引、分片、加、乘以及检查成员资格。此外Python还有计算序列长度、找出最大最小元素的内置函数

 1.1.1 索引

        序列中的所有元素的编号都是从0开始递增的,可以通过编号分别访问。同时我们可以通过负数索引来获取元素,此时Python会从右边(最后一个)元素开始计数,最后一个元素的编号是-1:

        学会了索引就可以设计一个简单的程序,用户输入年、月(1~12)、日(1~31),然后打印出相应日期的月份名称:

# 根据给定的年月日以数字形式打印出日期
months = [
    'January', 'February', 'March', 'April',
    'May', 'June', 'July', 'August',
    'September', 'October', 'November', 'December']

# 一个月31天来算
endings = ['st', 'nd', 'rd'] + 17 * ['th'] \
          + ['st', 'nd', 'rd'] + 7 * ['th'] \
          + ['st']

year = input('Year: ')
month = input('Month(1~12): ')
day = input('Day(1~31): ')

month_number = int(month)
day_number = int(day)

# 若要获取相应的索引,需要将月份和天数减1
month_name = months[month_number - 1]
ordinal = day + endings[day_number - 1]

print(month_name + ' ' + ordinal + ', ' + year)

输出结果(简单程序请通过结果自行理解):

 1.1.2 分片

        实际上和索引类似,我们通过索引来访问单个元素,但当需要访问一定范围的元素时,我们可以通过分片操作。分片是通过冒号相隔两个索引来实现:

        冒号左右两个索引,第一个索引是要提取部分的第1个元素的编号,第二给索引是提取部分最后那个元素的编号+1。简而言之,第一个索引元素包含在分片内,第二个索引元素不包含。

        进行分片时,分开的开始和结束点需要直接或间接的指定,在分片时还有另一个参数:步长。在没设定步长时步长默认为1,我们可以通过步长来获取奇数位的元素,只需要设定步长为2:

         从上例可知分片开头和结尾可以间接指定为第一位和最后一位。步长也可以是负数,代表从右往左获取元素

1.1.3 序列相加

        列表和字符串可以相应连接,但不能相互相加连接。

1.1.4 乘法

        数字n乘以一个序列会生成一个新的序列,新序列为原序列重复n次:

1.1.5 成员资格

        为了检查一个值是否在序列中,可以使用 in 运算符。这个运算符检查某个条件是否为真,然后返回 True 和 False:

1.1.6 长度、最小值、最大值

        内建函数len、min和max分别返回序列包含元素的长度、最小值和最大值:

 1.2 列表

1.2.1 list函数

        list函数适用于将任何类型的序列转化为列表:

1.2.2 基本的列表操作

        首先列表使用所有序列的基本操作,包括索引、分片、连接和乘法。而列表是可以修改的,所以列表会有更多的操作空间:

        1. 元素赋值

        元素赋值实际上是修改列表中某个元素的值:

        2.删除元素

        用del语句实现删除元素:

        3.分片赋值

        跟元素赋值类似,实际将分片的范围内的元素进行替换:

        可见,替换的列表元素数量不一定要和原列表分片元素数量相等,可以理解为删除原列表分片后插入新的列表:

1.2.3 列表方法

        列表方法是对列表紧密联系的函数,调用方法是以“ 对象.方法(参数) ”的格式:

        1.count

        count方法统计某元素在列表中出现的次数:

可见text中 't' 出现了3次。

        2.append

        append方法用于在列表末尾添加新对象:

append函数中,若添加对象为列表,则该对象就以列表的形式出现在原列表中。

        3.extend

        与append类似,可以在列表末尾一次性添加另一个列表中的多个值:

        实际上,两个列表相加也可以实现,但相加不会修改原列表:

所以 a.extend(b) 相当于 a = a + b。

        4.index

        index方法用于从列表中找出某个值第一次匹配项的位置:

        5.insert

        insert用于将对象插入列表中,使用方法为 "对象.insert (插入位置,  插入元素) " 。除了索引,我们也能通过分片赋值来实现:

可以看出,numbers[4:4] = ['four'] 和 numbers.insert(4,'four') 等价。

        6.pop

        pop方法用于移出列表中一个元素(默认最后一个),并返回元素的值。:

注意的是:pop方法会返回一个数值。 

        7.remove

        remove方法用于移除列表中某个值的第一个匹配项:

        该例中,两次remove依次移除了第一个'Sam'。值得注意的是remove无法移除列表中不存在的元素。

        8.reverse

        reverse方法将列表中的元素方向存放:

        9.sort

        sort方法用于在原位置对列表进行排序,它改变的是原列表的位置。默认按从小到大顺序排序:

        10.sort的高级排序方法

        sort方法可以添加关键字 "key" 和 "reverse":

 

1.3 元组

        元组也是序列的一种,唯一不同的就是元组不能修改,类似字符串。

1.3.1 元组的创建

        创建元组只需要用逗号分隔一些值就可以实现(可以不手动添加括号,但创建单个元素的元组需添加逗号):

1.3.2 tuple函数

        tuple函数用于将一个序列的参数转换为元组:

 

 1.3.3 基本操作

        索引和分片,跟列表类似,返回值也是元组。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值