《Python编程 从入门到实践》Chapter3_Notes

Python从入门到实践

第三章 列表简介

3.1 列表是什么

在python中,列表是一系列按特定顺序排列的元素,
可以将任何东西加入列表当中,其中的元素可以完全没有任何关系
一般列表的取名可以指定 一个表示复数的名称例如names、letters等

在Python中,用[]来表示一个列表,其与数组不同,
不同点在于:其可以存各种不同数据类型的数据;其结构可变,元素数量和种类可以随意更改;但是其性能没有数组高

# 测试
bicycles = ['trek','redline','cannondale']
print(bicycles)

#输出
['trek', 'redline', 'cannondale']

接下来我们可以采用 bicycles[num] 的格式来对列表元素进行访问(类似数组)

#访问列表元素
print(bicycles[0])
print(bicycles[0].title())

#输出:
trek
Trek

上述示例可以看出我们利用该方法进行访问后,因为其元素为字符串类型,所以也可以直接对其进行操作


在各类语言中,索引基本都是从0开始,在Python中也不例外
但是在Python中还提供一种特殊的语法,即将索引指定为-1.可以让Python返回最后一个列表元素

# 访问第-1个元素 
print(bicycles[-1])

#输出:
cannondale

那么在访问后的各个元素均可以与正常变量一样使用,也可以在使用其他变量进行接收。

3.2 修改、添加和删除元素

上文当中提到,列表的创建基本上是动态的,这意味着列表被创建后,可以随着程序的运行增删元素。

# 修改列表元素
bicycles = ['trek','redline','cannondale']
print(bicycles)
bicycles[0] = 'ducati'
print(bicycles)

#输出
['trek', 'redline', 'cannondale']
['ducati', 'redline', 'cannondale']

#添加元素
    #末尾添加(类似于栈)
    bicycles.append('ducati')
    print(bicycles)
    #输出
    ['trek', 'redline', 'cannondale', 'ducati']
    
    #插入(insert(),指定位置,传入插入元素)
    bicycles.insert(0,'ducati')
    print(bicycles)
    #输出:
    ['ducati', 'trek', 'redline', 'cannondale']

#删除元素
    #del语句进行删除(指定位置删除)
    del bicycles[0]
    print(bicycles)
    #输出:
    ['trek', 'redline', 'cannondale']
    
    #pop()方法删除(类似栈)
    bicycles.pop()
    print(bicycles)
    #输出:
    ['trek', 'redline']
    #在利用pop()方法时,其可以弹出任意位置的元素,只需要传入index number即可
    
    #remove()方法,根据值删除元素(未知元素位置时使用)
    bicycles.remove('trek')
    print(bicycles)
    #输出
    ['redline', 'cannondale']

    #注意remove方法只能删除检测到的第一个值,其他相同名称的值无法删除

3.3 组织列表

在创建的列表中,元素的排列顺序往往无法预测,
但是我们可以使用Python提供的各种组织列表的方式来进行排序

首先我们可以利用sort()对列表进行永久性的排序

#还是使用上述列表
bicycles.sort()
print(bicycles)  

#输出
['cannondale', 'redline', 'trek']

从上述实验中可见,sort可以对列表元素按首字母大小进行排列且为永久性的


那么我们如果需要对列表进行临时排序,我们可以使用sorted()来进行

# 临时排序
print("这是原始列表:")
print(bicycles)

print("这是临时排序后的列表:")
print(sorted(bicycles))
#输出
这是原始列表:
['trek', 'redline', 'cannondale']
这是临时排序后的列表:
['cannondale', 'redline', 'trek']

以上两种为对列表进行排序的方法,在排序是可以考虑向sort()传入参数reverse = True,来对列表进行倒序排序
如果之后要反转元素的排列顺序,可以使用方法reverse(),
reverse()的反转不是按照字母顺序相反来进行反转,只是反转列表元素的排列顺序

在对列表元素进行索引时,如果不确定最后一个的序号是多少,可以使用-1来进行索引

总结

今天对Python里面一个很特殊的类型:列表,进行了区别,具体去与数组进行了对比,
列表更加灵活,但是相应的性能也会较差一些

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值