python 列表(列表推导式) 元组 集合 字典 字符串案例详讲系列________列表

写在前:不管我们学任何语言,如果对其进行增删查改都是最重要,可以说在学习列表,元组,集合,字符串的最基本的也是如何对其增删查改

有序列表:列表 元组 字符串
无序列表:字典 集合
可变序列:列表 字典 集合
不可变序列:元组 字符串

列表

应用场景:列表是最常用的一个用法,在我们挨个挨个提取数据的时候需要用到列表; 需要对其进行排序等操作的时候也一般转换成列表

  1. 创建一个空列表 a=[]
  2. 列表转换:list((3,5,6,7,8)) #将元组转换成列表 [3,5,6,7,8]

1. 列表的增加 append(),insert(),extend()

  1. append()用于向列表尾部追加一个元素
  2. insert(m,n)用于向列表任意一个位置m插入一个元素n
  3. extend()用于将另一个列表中的元素追加到当前列表的尾部
  4. 其中append()是最常见的增加用法,三者都不影响列表对象在内存中的起始地址

案例:

x=[1,2,3]
x.append(4)
x

[1, 2, 3, 4]

x=[1,2,3]
x.insert(2,0)
x

[1, 2, 0, 3]

x=[1,2,3]
x.extend([4,5,6])
x

[1, 2, 3, 4, 5, 6]

2.列表的删除pop() remove() clear()

  1. pop()用于删除并返回指定位置
  2. remove()用于删除列表中第一个值与指定值相等的元素
  3. clear()用于清空列表中的所有元素
  4. 使用del命令删除列表中指定位置的元素

案例

x=[1,2,3,423,213]
print(x.pop(2))
print(x)

3
[1, 2, 423, 213]

x=[1,2,3,423,213]
print(x.remove(2))
print(x)

None
[1, 3, 423, 213]

x=[1,2,3,423,213]
print(x.clear())
print(x)

None
[]

3. 列表的访问(查) index() count() reverse() sort(key=none,reverse=False)(这几个函数很重点!)

  1. 直接索引 x[1]
  2. index()用于返回指定元素在列表中首次出现的位置(最常用)
  3. count()用于返回列表中指定元素出现的次数
  4. sort()用于按照指定的规则对元素进行排序默认的reverse是升序排序(重点重点重点!)
  5. sorted()和sort()的区别是什么呢?
x=list("python sadapjkajisudht")
print(x)
print("第一种索引方法,直接索引:",x[1])
print("第二种索引方法 index():",x.index("p"))
print("count:",x.count("t"))

[‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, ’ ', ‘s’, ‘a’, ‘d’, ‘a’, ‘p’, ‘j’, ‘k’, ‘a’, ‘j’, ‘i’, ‘s’, ‘u’, ‘d’, ‘h’, ‘t’]
第一种索引方法,直接索引: y
第二种索引方法 index(): 0
count: 2

sort()
key:以什么规则排序 abs,len 或者用匿名函数代替
reverse:是否升序排列

x=list(range(11))
import random
random.shuffle(x)

[5, 0, 8, 6, 3, 1, 7, 10, 9, 2, 4]

x.sort()
x

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

x.sort(key=lambda item:len(str(item)),reverse=True)
x

[10, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
用字符串的长度为排序规则降序排序,10的长度为2在最前面 其他的都为1序列不变

4. 列表对象的运算符

+也可以起到实现列表增加元素目的,但是这个运算符不会原地操作,而是返回心列表
x=[1,2,3]
print(id(x))
y=x+[2,3,4]
y
y*=2
y

140242542081472
[1, 2, 3, 2, 3, 4]
[1, 2, 3, 2, 3, 4, 1, 2, 3, 2, 3, 4]

测试成员是否在列表内可以使用in

3 in [1,2,3]

True

内置对象的使用

all(x) # 测试是否所有的元素都为True
max(x) # 返回列表中最大的元素
min(x) # 返回列表中最小的元素
sum(x) # 返回列表中所有元素的和

列表推导式

案例1:

a=[x*x for x in range(10)]
a

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

等价与:

a=[]
for x in range(10):
    a.append(x*x)

案例2:

f=['apple','banba','passon']
a=[w.strip()for w in f]
a

[‘apple’, ‘banba’, ‘passon’]

等价

a=list(map(lambda x:x.strip(),f))
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值