python 列表

本文详细介绍了Python列表的创建、遍历、访问、修改、添加、删除、排序、切片、复制、列表与其他数据类型转化以及集合操作。内容包括定义列表、列表解析、遍历、索引访问、常用函数如append、insert、remove、sort、reverse,切片操作,深拷贝与浅拷贝,列表与集合、元组之间的转化,以及集合的交集、并集和差集等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、创建列表

1、定义列表中有a、b、c 三个变量

list1=["a","b","c"]

2、列表解析

例子定义1到11的每个数的平方为一个列表

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

二、应用列表

1、遍历

for i in list1:
    print(i)    

输出 a b c ,i依次为列表中的元素

2、通过索引访问

a、索引为0的第一个元素

list1[0]

b、倒数第二个元素 

list1[-2]

代表列表的第一个元素

三、常用函数

1、修改

通过索引访问元素进行修改

list1[0]="d"

修改list1列表中的第一个元素为d

2、添加

(1)列表在末尾添加元素,例为添加元素f

list1.append("f")

(2)通过索引添加元素,在索引位置为 1的地方也就是第二个元素位置添加元素“tianjia”,原来 的第二个元素变为第三个元素,后面的元素位置依次加1

list1.insert(1,"tianjia")

3、删除

(1)使用del删除元素,

例子为删除元素索引位置为0的元素,

     del list1[1]

(2)使用pop删除元素,pop中文翻译为弹出的意思

a、下面例子为删除列表最后一个元素

     list1.pop()

b、删除指定位置的元素

删除索引为1的元素,

list1.pop(1)

(3)根据值,使用remove删除元素,

例子删除元素值为a的元素,使用一次只能删除一个元素,如果有多个元素的值为a,就要使用for循环进行判断删除了。

list1.remove("a")

如果有多个元素a,可使用while

while "a" in list1:

     list1.remove("a")

4、排序

a、sort()按照字母顺序把列表元素进行排序,会改变列表中元素的位置

  例子

   list1.sort()

b、按照字母的顺序倒序排列,会改变列表中元素的位置,在sort()中添加参数reverse=Ture

例子 

list1.sort(reverse=Ture)

c、在sort()中添加参数len=Ture ,按元素长度排序

list1.sort(len=Ture)

d、sorted()临时排序,不改变列表中元素的位置,也可传递reverse=Ture按照字母的顺序倒序排列

list1.sorted()

5、反转列表排序reverse()

例子反转列表list1的顺序

list1.reverse

6、判断列表长度len()

例子、判断列表list1的长度

len(list1)

7、列表组合

(1)可用extend()

例子,扩展列表list1,使用列表list2。list2的元素追加到list1的后边,列表list2不变,列表list1扩展

list1.extend(list2)

(2)使用+号

例子,两个列表都不变,返回两个列表的组合

list1+list2

8、统计某个元素在列表中出现的次数count()

例子统计ss在列表list1中出现的次数

list1.count("ss")

9、查找元素中,第一个匹配项的索引位置

例子,查找ss在list1中的出现的第一个位置。

list1.index("ss")

四、切片

取头不取尾(取前面的索引的元素,取后面索引的元素的前一个元素)

1、取元素

list1[:]取整个列表中的所有元素

list1[0:2]取0到索引为1的元素

list1[2,-1]取索引为2的元素到倒数第二个元素

2、不能为切片的后面的值小于前面,这样会取到空

如 :list1[3:1],或 list1[-1,-3]

3、可以设置切片取元素的间隔

list1=["a","b","c",'d',"e","f"]
print(list1[::2])
#输出为['a', 'c', 'e']

五、列表的复制

1、不要使用等号直接 

这样使得两个列表共用一个存储的列表值,改变一个另一个也会发生相同的变化。

list2=list1,

2、可使用切片复制

list2=list1[:]

3、深copy和浅copy

https://blog.youkuaiyun.com/qq_18246731/article/details/88198558

六、列表和集合的相互转化

用于消除列表中的重复值

1、集合转化为列表,list()

使用list()函数把集合set1转化列表,然后赋值给list2

化为

2、列表转化为集合,set()

使用set()函数把列表list2,转化为集合,然后赋值给set1

set1 = set(list2)

七、列表和元组的相互转化

用于使得元素不可被改变。防止不可改变的值被误改

1、列表转化为元祖

tuple1 = tuple(list1)

2、元组转化为列表

list1 = list(tuple1)

八、集合求交集、并集、差集

列表不能直接求交集、并集、差集

1、转化为集合

集合可以直接求交并差,而列表不能。

先把两个列表转化为集合,然后通过集合求交集、并集、差集等,结果然后在转化回列表。

list1=[1,2,3]
list2=[1,4,6]
# 并集
a = set(list1) | set(list2)
a -> {1, 2, 3, 4, 6}
 
# 交集
b = set(list1) & set(list2)
b -> {1}
 
# 差集(在list1当中有,list2当中没有的元素)
c = set(list1) - set(list2)
c -> {2, 3}
 
# 对称差集(项在t或s中,但不会同时出现在二者中)
d = set(list1) ^ set(list2)
d -> {2, 3, 4, 6}

2、使for循环

如担心列表原来的顺序改变,使用for顺应原来的顺序

示例求差集

list1=[1,2,3]
list2=[1,4,6]
for item1 in list1:
    for item2 in list2:
        if item1 == item2:
            list1.remove(item1)

list1-->[2, 3]

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值