python学习记录(八)————列表

列表

# 列表中可以放任意元素,可以同时存放不同的数据类型
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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值