【列表】

  • 定义:列表是写在方括号 [] 之间、用逗号分隔开的元素列表,列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套),列表中的元素是可以改变。
  • 注意:列表的元素类型不唯一。for example,
list_1 = ["帅帅", "学习", "python", 30, "", "3.1415926", [1, 2, 3, 4, 5]]
print(list_1)

 

列表的相关操作

首先方便起见我们首先定义一个列表:

week = ['周一', '周二', '周三', '周四', '周五']

【1】list 搜索元素,reverse 函数将列表反向排列

print(week.index("周三"))    # 输出:2
# week.reverse()  # 逆序排列,或者 week[::-1]
# print(week)     # 输出:['周五', '周四', '周三', '周二', '周一']

【2】list append() 添加元素,extend 添加一个可以遍历的列表【原列表上追加元素】

# week.append([1, 2, 3])    # [1, 2, 3] 作为一个整体添加到列表中
# print(week)        # 输出:['周一', '周二', '周三', '周四', '周五', [1, 2, 3]]
week.append('周六')
week.append('周天')
print(week)         # 输出:['周一', '周二', '周三', '周四', '周五', '周六', '周天']
week2 = ['周一', '周二', '周三', '周四', '周五']
week2.extend(['周六', '周天'])  # 输出:['周一', '周二', '周三', '周四', '周五', '周六', '周天']
print(week2)

【3】list remove 删除元素;pop 删除指定位置的元素,并返回要移除的元素

day = week.remove('周六')
print("day = {},week = {}".format(day, week))        # 输出:day = None,week = ['周一', '周二', '周三', '周四', '周五', '周天']
day = week.pop(len(week) - 1)   # 删除最后一个下标的字符串
print("day = {},week = {}".format(day, week))         # 输出:day = 周天,week = ['周一', '周二', '周三', '周四', '周五']

【4】list 计算长度,属性值修改

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(len(nums))     # 列表的长度:10
nums[5] = 99         # 修改列表第 6 个元素的值为:99
print(nums)          # 输出:[1, 2, 3, 4, 5, 99, 7, 8, 9, 10]

【5】list 加法,乘法运算

list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
print(list_1 + list_2)  # 列表相加,输出:[1, 2, 3, 4, 5, 6]
print(list_1 * 3)       # 列表乘法,输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]

【6】list 切片

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[0:3])         # [1, 2, 3]
print(nums[-3:-1])       # [8, 9]
print(nums[-3:])         # [8, 9, 10]
print(nums)              # 列表完整打印:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[0:])          # 列表完整打印(0是可以省略的):[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[0::2])        # 从第一个元素开始,每两个下标输出一个元素:[1, 3, 5, 7, 9]
print(nums[::-1])        # 列表反向:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
备注:步长是负数时,一般没有实际含义,开始和结尾没值时,列表直接反向展示

【7】list 插入元素,清空列表元素

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums.insert(2, 99)  # 列表下标为 2 插入 99
print(nums)         # (元素后移)输出:[1, 2, 99, 3, 4, 5, 6, 7, 8, 9, 10]
nums.clear()        # 列表清空
print(nums)         # 输出:[]

【8】list copy函数:用于创建列表的副本

nums = [1, 2, 3, 4, 5]
numsCopy = nums.copy()
nums[3] = 99        # 原列表更新,副本列表的元素不变
print("原列表:%s,新列表:%s" % (nums, numsCopy)) # 原列表:[1, 2, 3, 99, 5],新列表:[1, 2, 3, 4, 5]
nums = [1, 2, 3, 4, 5]
numsCopy = nums
del nums[0]            # 删除原列表第一个元素,赋值的列表也会跟着删除【原和新列表有关联关系】
print("原列表:{},新列表:{}".format(nums, numsCopy)) # 原列表:[2, 3, 4, 5],新列表:[2, 3, 4, 5]

【9】list 的排序

strs = ["hello", "world", "study", "python", "pyhton"]
strs.sort()     # 根据首字符排序,首字母相同,判断第二个字母
print(strs)     # 输出:['hello', 'pyhton', 'python', 'study', 'world']
nums = [2, 4, 6, 8, 10, 1, 3, 5, 7, 9]
nums.sort(reverse=False)
print("升序排列:", nums)
nums = [2, 4, 6, 8, 10, 1, 3, 5, 7, 9]  # 升序排列: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums.sort(reverse=True)
print("降序排列:", nums)            # 降序排列: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

【10】统计某个元素在列表中出现的次数

nums = [1, 2, 3, 4, 5, 5, 3, 3, 2, 3]
print(nums.count(3))        # 输出:4
print(nums.count(9))        # 输出:0

 

posted @ 2024-02-23 22:44  帅帅的编程之路  阅读(27)  评论(0)    收藏  举报