分享

python-列表

 印度阿三17 2019-12-06

列表(list)是python中的基本数据类型之一,它属于一个容器型数据类型,即列表是一堆数据集合。列表内可以存放个任意数据类型的元素,可通过索引访问其元素。列表元素可修改

列表的增删

append,在列表尾部增加一个元素

insert,在列表任意位置插入新元素。 需要两个参数:第一个是参数是索引下标,第二个参数是要插入列表的元素。其中索引下标从0开始,且可以为负数,表示倒数的位置处。

extend,在列表尾部批量增加元素,extend需要一个参数,该参数为任意可迭代对象数据类型:列表,字典,元组等。

pop,删除列表尾部最后一个元素并返回删除的元素。默认删除最后一个元素,可以通过索引指定删除并返回的元素;如果列表为空或索引越界,则报错IndexError

remove,删除第一个元素,如果不存在则报错。

clear,清空列表。

# 增
mylist = []
mylist.append("red") 
mylist.insert(1, "black")  
mylist.extend([1,2,3])
mylist.extend("1234")  # 新增元素 "1","2","3","4"

# 删
mylist.pop()            # 删除并返回最后一个元素
mylist.pop(1)           # 删除并返回索引为的元素
mylist.remove("red")    # 删除"red"
mylist.clear()          # 清空列表
列表的排序

sort(),默认对列表按从小到大的方式排序。通过参数reverse=True指定按从大到小的顺序排序。通过参数key=function按指定方法排序。

reverse,对泪飙元素反转排列,不排序。

#排序

mylist = [3, 5, 4, 9, 1, 6]
mylist.sort(reverse=True)       # [9, 6, 5, 4, 3, 1]
mylist.reverse()                # [6, 1, 9, 4, 5, 3]


def sort_second_item(ele):
    return ele[1]
nums = [(3,2),(6,9), (5,8),(4,5),(1,6)]
nums.sort(key=sort_second_item, reverse=True)
print(nums)
#output: [(6, 9), (5, 8), (1, 6), (4, 5), (3, 2)]
#即 按元组的第二个元素降序排列啦,激活key,使用自定义排序对象
列表的索引

列表的索引是访问列表的最简单直接方式。索引从0开始,代表第一个元素。以此类推。索引为负值,表示倒数第几个元素。修改指定元素时,也是通过索引。如:mylist[-1] = "silver"更新列表最后一个元素。索引值越轨将会报错。

index,获取指定元素在列表中的索引值。index函数默认返回找到第一个元素躲在的索引值。此外,可以指定查找起始范围。如果找不到则抛出异常

mylist = ["red", "green", "yellow", "purple", "gold"]

print(mylist[0])    # "red"
print(mylist[-1])   # "gold"
mylist[-1] = "silver"

mylist.index("green",1,3)
列表计数和复制

count,返回指定元素在列表中出现的次数,不存在则返回0.

copy ,返回一个复制的列表,浅拷贝

列表切片

切片可以复制和编辑列表元素。切片按 [start : end : step] 的形式使用,通过索引值操作,step可为负数,表示逆序。当step不设置时默认step为1。切片操作遵循“顾头不顾尾”的原则,即切片范围是索引值从start到end-1.切片赋值属于浅拷贝。

mylist = ["red", "green", "yellow", "purple", "gold"]
mylist[1:3]             # ["green", "yellow"]
print(mylist[:])        # 全部范围
print(mylist[2:])       # ['yellow', 'purple', 'gold']
print(mylist[::-1])     # ['gold', 'purple', 'yellow', 'green', 'red']

mylist[1:3] = [1,2]
print(mylist)           # ['red', 1, 2, 'purple', 'gold']
列表生成式

高级玩法 生成列表

a= [i for i in range(1,10) if i%2==0]
print(a)    # [2, 4, 6, 8]
其他

列表直接直接加法算数运算符 list1 list2

nums = [1,3,5,7,9]
new_nums = nums   [2,4,6,8,10]
print(new_nums)

#output:
[1,3,5,7,9,2,4,6,8,10]
来源:https://www./content-1-587151.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多