列表的基本操作 - python3

列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储、修改等操作

有点枯燥请谅解 -

定义列表

names = ["jimmy", "John", "Mike", "alex"]

通过下标访问列表中的元素,下标从0开始计数

names [0]      #正数即代表从左往右数
>>> jimmy

names [1] 
>>> John 

names [-1]     #负数即代表从右往左数
>>> alex

names [-2]
>>> Mike 

切片:取多个元素


names = ["jimmy", "John", "Mike", "alex", "Rain", "Tom", "Amy"]

names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
>>> ["John", "Mike", "alex",]

names[1:-1] #取下标1至-1的值,不包括-1
>>> ["John", "Mike", "alex", "Rain", "Tom"]

names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
>>> ["jimmy", "John", "Mike"]

names[3:] #如果想取最后一个,必须不能写-1,只能这么写
["alex", 'Rain', 'Tom', 'Amy'] 

names[3:-1] #这样-1就不会被包含了
>>> ["alex", "Rain", "Tom"]

names[0::2] #后面的2是代表,每隔一个元素,就取一个
>>> ['jimmy', 'Mike', 'Rain', "Amy"]  

names[::2] #和上句效果一样
>>>['jimmy', 'Mike', 'Rain', "Amy"] 

追加元素

names = ["jimmy", "John", "Mike", "alex", "Rain", "Tom"]

names.append("我是新来的")

>>> ["jimmy", "John", "Mike", "alex", "Rain", "Tom","我是新来的"]

插入

names = ["jimmy", "John", "Mike", "alex", "Rain", "Tom"]

names.insert(2,"强行从Mike前面插入")

>>> ["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "Rain", "Tom"]

names.insert(5,"从eric后面插入试试新姿势")

["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]

修改

names = ["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]

names[2] = "该换人了"

>>> ["jimmy", "John", "该换人了", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]

删除

names = ["jimmy", "John", "强行从Mike前面插入", "Mike", "alex", "从eric后面插入试试新姿势", "Rain", "Tom"]

del names[2]

>>> ["jimmy", "John", "Mike", "alex", "从alex后面插入试试新姿势", "Rain", "Tom"]

del names[4]

>>> ["jimmy", "John", "Mike", "alex", "Rain", "Tom"]

names.remove("Mike") #删除指定元素

>>> ["jimmy", "John", "alex", "Rain", "Tom"]

names.pop() #删除列表最后一个值 

>>> "jimmy", "John", "alex", "Rain"]

扩展

names = ["jimmy", "John", "Mike", "alex"]

>>> b = [1,2,3]

>>> names.extend(b)

>>> ["jimmy", "John", "Mike", "alex", 1, 2, 3]

拷贝

names = ["jimmy", "John", "Mike", "alex", 1, 2, 3]

names_copy = names.copy()

names_copy

>>> ["jimmy", "John", "Mike", "alex", 1, 2, 3]

统计

names = ["jimmy", "John", "jimmy", "alex"]

names.count("jimmy")

>>> 2

排序 & 翻转

names = ["jimmy", "John", "Mike", "alex", "1", "2", "3"]

names.short() # 这里要注意 3.0版本 排序要求 列表里面的类型要一样

>>> ["1", "2", "3", "jimmy", "John", "Mike", "alex"]

names.reverse() #反转

>>> ["jimmy", "John", "Mike", "alex", "1", "2", "3"]

获取下标

names = ["jimmy", "John", "Mike", "alex"]

names.index("John")

>>> 2

print(names[names.index("John")])  # 查找并且取出

>>> "John"
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • 人生都会有弯路要走。其实只要决心,真的随时可以重新开始。现在迷惘什么呢?既然喜欢了,决定了,就走下去好了,错了,就...
    结构学AI阅读 146评论 0 0
  • 红墙亢奋,如狂澜 淹没卷卷史书 但那些绑架了舌头的 注定逆行于江流 看那太阳 从来不知何为恩泽 还有山 山中本无山...
    王子魚阅读 664评论 36 45
  • 作为中年人来说,荷尔蒙早已被各种故事里的猪脚占据了,世事浮华,在荷搭的眼袋里柳绿花红,或许只是相机里片刻的痕迹。 ...
    张永刚阅读 411评论 0 3
  • 那年深秋,我们从黑鱼泡子撤回渔村不久,江里开始淌冰排了,在网滩上的那些渔民也陆续撤回了村子。又过了一个多月,估计冰...
    咪辰阅读 1,722评论 0 1