python中列表的操作

创建一个数组

books = ["python", "java", "scala", "c++"]

数组的打印

print(books)

数组元素的访问,访问第一个元素

message = books[0]
print(message)

访问最后一个元素

message = books[len(books) - 1]
print(message)

快速访问最后一个元素

message = books[-1]
print(message)

快速访问倒数第二个元素

message = books[-2]
print(message)

修改数组中元素的值-根据index修改

message = "spark"
books[3] = message
print(books)

在数组中添加元素

方式1,在数组末尾添加元素

books.append("c++")
print(books)

在数组指定位置前插入新元素

例如在数组头添加元素,第一个参数为要插入位置的索引,第二个参数是值

books.insert(0, "hive")
print(books)

删除元素-del语句

删除最后一个元素

del books[-1]
print(books)

删除元素-pop()语句,与del不同之处在于pop()方法会返回删除元素

默认情况下删除数组最后一个元素

message = books.pop()
print(message)

根据需要删除元素

例如删除第一个元素

message = books.pop(0)
print(message)

根据值删除元素--ps:remove()方法只会删除第一次出现的元素

books.remove("scala")
print(books)

排序

books = ["python", "java", "scala", "c++"]
books_copy = books

按照字母的先后顺序升序排列--ps:sort()方法永久性的排序,无法恢复到之前的数组

books_copy.sort()
print("books:", books) # books: ['c++', 'java', 'python', 'scala']
print("books_copy:", books_copy) # books_copy: ['c++', 'java', 'python', 'scala']

传递参数,逆序排列--ps:此方法也是不可逆的,无法得到之前的数组

books = ["python", "java", "scala", "c++"]
books.sort(reverse=True)
print(books)

临时排序

books = ["python", "java", "scala", "c++"]
books_sorted = sorted(books)
print("books:", books) # books: ['python', 'java', 'scala', 'c++']
print("books_sorted:", books_sorted) # books_sorted: ['c++', 'java', 'python', 'scala']

sorted 逆序临时排序

books_sorted = sorted(books, reverse=True)
print(books_sorted)

数组的反转

books.reverse()
print(books)
books.reverse()
print(books) # 调用两次reverse()方法回到原来的数组

数组的长度

length = len(books)
print(length)

循环

for 循环

books = ["python", "java", "scala", "c++"]
for book in books:
print(book)
for book in books:
print(book.title(), "is very important for me", "!")

创建数字列表--math

range()函数-ps:含头不含尾

for value in range(1, 5):
print(value)

list()和range()合用构造数组

numbers = list(range(1, 6))
print(numbers)

range()指定步长-ps:第一个参数是开始,第二个参数是结尾,第三个参数是步长

numbers = list(range(1, 10, 2))
print(numbers)

range()函数构造平方

numbers = []
for value in range(1, 11):
numbers.append(value**2)
print(numbers)

最大最小函数

min_value = min(numbers)
max_value = max(numbers)
print(min_value)
print(max_value)

求和函数

sum_value = sum(numbers)
print(sum_value)

创建数组-ps:注意没有冒号

numbers = [value**2 for value in range(1, 11)]
print(numbers)

列表分片-切分

创建一个数组

numbers = [value**3 for value in range(1, 11)]
print(numbers) # [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]

获取numbers的前三个数字并保存为新的数组

numbers03 = numbers[0: 3]
print("numbers03", numbers03) # numbers03 [1, 8, 27]

获取2-5位置

numbers25 = numbers[2: 6]
print(numbers25) # [27, 64, 125, 216]

获取前4个数字-ps:第一个参数可以不写

numbers4 = numbers[: 4]
print(numbers4)

获取索引2以及以后的数字

numbers2 = numbers[2:]
print(numbers2) # [27, 64, 125, 216, 343, 512, 729, 1000]

获取倒数三位的数字

print(numbers[-3:])

遍历切片

for value in numbers[-3:]:
print(value)

数组的复制

numbers_copy = numbers[:]
print(numbers_copy)
numbers.append(0)
print(numbers)

元组

dimensions = (200, 100, 300)
for value in dimensions:
print(value)
print("---------------")

元组数据的访问

print(dimensions[0])

元组中的数据不容修改 eg: dimensions[0] = 23

但是可以重新定义元组

dimensions = (23, 234)
print(dimensions)

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