列表
# 列表中可以放任意元素,可以同时存放不同的数据类型
items = [1, 4, 'eaf']
name = ['anc', 123, 'sfdgf', items]
print(name)
# 语法生成列表range(start, stop, step), start默认为0,step默认为1
# python3版本中为了防止内存空间被占用,range不会立即生成列表,如下
nums = range(11)
print(nums)
# 列表推倒式生成新列表
nums = [1, 2, 3, 4, 5]
# 在newNums中添加num^2,num通过for循环从nums中取出
newNums = [num ** 2 for num in nums]
print(newNums)
# 从nums中取出奇数
newNums = [num for num in nums if num % 2 != 0]
print(newNums)
ones = [1 for num in nums]
print(ones)
常用操作
1. 增
list1 = [1, 2, 3, 4, 'a', 'b']
# list.append(object)在列表中增加一个元素
list1.append('c')
print(list1)
# list.insert(index, object)在列表中指定位置前增加一个元素
list1.insert(4, 5)
print(list1)
# list.extend(iterable)在列表中扩展一个可迭代序列
num1 = [1, 2, 3]
num2 = ['a', 'b', 'c']
num1.extend(num2)
print(num1)
# 可迭代对象也可以是for循环
list1.extend(num for num in range(10, 15, 1))
print(list1)
# 与append的区别,append将‘abc’看作整体字符串添加进列表
# extend将abc看作可迭代对象分解成一个个小元素添加进列表
num1 = [1, 2, 3]
num2 = 'abc'
num1.extend(num2)
print(num1)
num1.append(num2)
print(num1)
# 乘法运算,重复n遍
num1 = [1, 5, 7]
print(num1 * 3)
# 加法运算
num1 = [1, 2, 3]
num2 = ['a', 'b', 'c']
print(num1 + num2)
2.删
list1 = [1, 2, 3, 4, 'a', 'b']
# del语句 del list[index]
del list1[0]
print(list1)
# list.pop(index)删除指定索引的元素,并返回这个元素,index默认为-1
result = list1.pop()
print(list1, result)
# list.remove(object)删除指定元素,从左往右删除第一个目标元素
print(list1.remove('a'))
3.查
list1 = [1, 2, 'a', 3, 4, 'a', 'b']
# list.index()查询某元素索引
print(list1.index('a'))
# list.count()查询列表中指定元素的个数
print(list1.count('a'))
# list[start:stop:step]切片
print(list1[::-1])
4.遍历
list1 = [1, 2, 'a', 3, 4, 'a', 'b']
# 方法一:根据元素遍历
for item in list1:
print(item)
# 方法二:根据索引遍历
for idx in range(len(list1)):
print(list1[idx])
# 枚举对象遍历列表
# enumerate(list, start),将列表转成(index, value)的格式
print(list(enumerate(list1)))
# [(0, 1), (1, 2), (2, 'a'), (3, 3), (4, 4), (5, 'a'), (6, 'b')]
# 遍历枚举对象
for idx, val in enumerate(list1):
print(idx, val)
5.排序
import random
list1 = [1, 345, 32, 3, 2, 435, 2, 43]
# sorted(iterable, key, reverse)排序语句,返回一个列表
# iterable是待排序对象,reverse默认False,表示升序
print(sorted(list1))
print(sorted(list1, reverse=True))
# key表示依据key的关键词进行排序
s = [('avds', 12), ('ads', 2), ('vds', 13), ('avs', 127), ('avdsds', 18)]
def getKey(x):
return x[1]
print(sorted(s, key=getKey, reverse=True))
# 打乱函数random.shuffle(list)
num = [i for i in range(1, 100, 2)]
print(random.shuffle(num))
print(num)