2022年 11月 3日

Python中的数组(列表)

目录

数组的基本用法

处理函数:min()、max()、sum()

修改元素

增加元素:append()

删除元素

使用del

使用pop()

指定名称删除

数组排序

sort()、reverse()

给sort()传参

排序函数:sorted()

数组循环

for in

循环索引:enumerate

数组切片

range()基本用法

range()生成数组:奇数数组、偶数数组

lambda写法

元祖


 

数组的基本用法

  1. arr = ["A", "B", "hello world", "D", "E"]
  2. print(arr)
  3. print(arr[0])
  4. print(arr[1])
  5. print(arr[2].title())
  6. print(len(arr))

处理函数:min()、max()、sum()

  1. # 处理函数
  2. nums = [1, 3, 5, 7, 9, 2, 4, 6, 8, 10]
  3. print(min(nums))
  4. print(max(nums))
  5. print(sum(nums))

修改元素

增加元素:append()

  1. arr = []
  2. arr.append("A")
  3. arr.append("B")
  4. arr.append("C")
  5. arr.append("D")
  6. arr.append("E")
  7. print(arr)

删除元素

使用del

  1. arr = ['A', 'B', 'C', 'D', 'E']
  2. print(arr)
  3. del arr[0]
  4. print(arr)

使用pop()

  1. arr = ['A', 'B', 'C', 'D', 'E']
  2. print("arr", arr)
  3. pop_item = arr.pop()
  4. print("pop_item", pop_item)
  5. print("arr", arr)

指定名称删除

  1. arr = ['A', 'B', 'C', 'D', 'E']
  2. print("arr", arr)
  3. remove_item = arr.remove("C")
  4. print("remove_item", remove_item)
  5. print("arr", arr)

数组排序

sort()、reverse()

  1. arr = ["A", "B", "hello world", "D", "E"]
  2. print("原始的arr:", arr)
  3. arr.sort()
  4. print("arr.sort()后的arr:", arr)
  5. arr.reverse()
  6. print("arr.reverse()后的arr:", arr)

给sort()传参

  1. arr = ["A", "B", "hello world", "D", "E"]
  2. print("原始的arr:", arr)
  3. arr.sort(reverse=True)
  4. print(arr)
  5. arr.sort(reverse=False)
  6. print(arr)

排序函数:sorted()

  1. arr = ["A", "B", "hello world", "D", "E"]
  2. print("原始的arr:", arr)
  3. print(sorted(arr))
  4. print(sorted(arr, reverse=True))

数组循环

for in

  1. arr = ["A", "B", "hello world", "D", "E"]
  2. print("start.........")
  3. for item in arr:
  4. print(item)
  5. print("end..........")

循环索引:enumerate

  1. arr = ["A", "B", "hello world", "D", "E"]
  2. print("start.........")
  3. for i, item in enumerate(arr):
  4. print(i, item)
  5. print("end..........")

数组切片

使用数组切片来表示数组的一部分

  1. arr = []
  2. arr.append("A")
  3. arr.append("B")
  4. arr.append("C")
  5. arr.append("D")
  6. arr.append("E")
  7. print("arr:", arr)
  8. print("arr[0:3]:", arr[0:3])
  9. print("arr[1:4]:", arr[1:4])
  10. print("arr[:3]:", arr[:3])
  11. print("arr[2:]:", arr[2:])
  12. print('-------------------------')
  13. # 循环切片
  14. for item in arr[:3]:
  15. print(item)
  16. print('=========================')
  17. # 复制切片
  18. test = arr[:3]
  19. print("test:", test)
  20. test.append("FF")
  21. print("append后的test:", test)

range()基本用法

  1. print("range(5):", range(5))
  2. # 使用range()函数
  3. for val in range(5):
  4. print(val)
  5. print("---------------")
  6. # 指定range()的范围
  7. for val in range(1, 5):
  8. print(val)

range()生成数组:奇数数组、偶数数组

  1. # 生成数组
  2. nums = list(range(1, 5))
  3. print(nums)
  4. # 奇数数组
  5. nums = list(range(1, 11, 2))
  6. print(nums)
  7. # 偶数数组
  8. nums = list(range(2, 11, 2))
  9. print(nums)

lambda写法

  1. nums = []
  2. for val in range(1, 5):
  3. nums.append(val*2)
  4. print(nums)
  5. print("-----------------")
  6. # lambda写法
  7. nums = [val*2 for val in range(1, 5)]
  8. print(nums)

元祖

元组是一种特殊的数组(列表),是一种不可变的数组 。

  • 通过小括号()定义元组
  • 元组是不可变的数组(列表)。也就是说,元祖中的每个值是固定的,是不可以变化的,如果给元祖中的某个值重新赋值,将会报错。但是注意:我们是可以给元祖这个整体重新设置,如下

  1. arr = (3, 5, 8, 13)
  2. print(arr)
  3. print(arr[0])
  4. print(arr[1])
  5. print(arr[2])
  6. print("-----------")
  7. # 循环元组
  8. for val in arr:
  9. print(val)
  10. print("-----------")
  11. # 元组重新设置
  12. arr = ("a", "b", "c")
  13. print(arr)
  14. for val in arr:
  15. print(val)

如果给元祖中的值重新赋值将会报错,如下所示: