python学习笔记(列表)

学完了python的列表,整理了思维导图,也写了一些关于列表的基础代码。

 1.列表的创建

方法一:使用[]直接创建

方法二:使用内置函数list()创建

# 直接使用[]创建列表
lst=['hello','world',98,100.5]
print(lst)

# 使用内置函数list()创建列表
lst2=list('helloworld')
print(lst2)

运行结果:

['hello', 'world', 98, 100.5]
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']

 2.列表的特有操作

(1)增加元素

# 列表是可变数据类型
lst=['hello','world','python']
print('原列表:',lst,id(lst))

# 增加元素
lst.append('sql')
print('增加元素后的列表:',lst,id(lst)) # 增加元素之后,内存地址并没有改变

# 使用insert(index,x)在指定的index位置上插入元素x
lst.insert(1,100)
print('插入元素后的列表:',lst,id(lst)) # 插入元素之后,内存地址并没有改变

运行结果:

原列表: ['hello', 'world', 'python'] 2192433672448
增加元素后的列表: ['hello', 'world', 'python', 'sql'] 2192433672448
插入元素后的列表: ['hello', 100, 'world', 'python', 'sql'] 2192433672448

(2)删除元素

# 列表是可变数据类型
lst=['hello','world','python']
print('原列表:',lst,id(lst))

# 列表元素的删除操作
lst.remove('world')
print('删除元素后的列表:',lst,id(lst)) # 删除元素之后,内存地址并没有改变

# 使用pop(index)根据索引将元素取出,然后再删除
print(lst.pop(0))
print('删除元素后的列表:',lst,id(lst)) # 使用pop()删除元素之后,内存地址并没有改变

运行结果:

原列表: ['hello', 'world', 'python'] 2883695800832
删除元素后的列表: ['hello', 100, 'python', 'sql'] 2883695800832
hello
删除元素后的列表: [100, 'python', 'sql'] 2883695800832

(3)逆序输出元素

# 列表反向输出
lst.reverse() # 不会产生新的列表,在原列表的基础上进行
print('反向输出后的列表:',lst,id(lst)) # 反向输出元素之后,内存地址并没有改变

 运行结果:

反向输出后的列表: ['sql', 'python', 100] 2883695800832

(4)复制列表

# 列表的复制,将会产生一个新的列表
lst1=lst.copy()
print('原列表:',lst,id(lst))
print('copy后的列表:',lst1,id(lst1)) # 内存地址改变,产生了新的列表

运行结果:

原列表: ['sql', 'python', 100] 2883695800832
copy后的列表: ['sql', 'python', 100] 2883695800384

(5)修改元素

# 根据索引来修改元素
lst[1]='mysql'
print('修改后的列表:',lst,id(lst)) # 修改元素之后,内存地址并没有改变

运行结果:

修改后的列表: ['sql', 'mysql', 100] 2883695800832

(6)清除列表中的所有元素

# 清除列表中的所有元素
lst.clear()
print('清除元素后的列表:',lst,id(lst)) # 使用clear()删除元素之后,内存地址并没有改变

 运行结果:

清除元素后的列表: [] 2883695800832

3.列表的排序

# 列表排序的两种方法
# 列表对象的sort()方法
# 内置函数sorted方法
print('-----------------sort()方法---------------------')
lst=[1,74,46,234,43,99,112,88]
print('原列表:',lst)

# 排序,默认是升序
lst.sort() # 排序是在原列表上进行的,不会产生新的列表对象
print('升序:',lst)

# 排序,降序
lst.sort(reverse=True)
print('降序:',lst)

print('-----------------------------------------------')
lst2=['A','b','C','d']
print('原列表:',lst2)

# 升序,先排大写再排小写
lst2.sort()
print('升序:',lst2)

# 降序
lst2.sort(reverse=True)
print('降序:',lst2)

# 忽略大小写进行排序
lst2.sort(key=str.lower)
print(lst2)

print('-----------------sorted()方法---------------------')
# 使用sorted方法会产生新的列表
lst=[1,74,46,234,43,99,112,88]
print('原列表:',lst,id(lst))
lst3=sorted(lst)
print('升序列表:',lst3,id(lst3))
lst4=sorted(lst,reverse=True)
print('降序列表:',lst4,id(lst4))

运行结果:

-----------------sort()方法---------------------
原列表: [1, 74, 46, 234, 43, 99, 112, 88]
升序: [1, 43, 46, 74, 88, 99, 112, 234]
降序: [234, 112, 99, 88, 74, 46, 43, 1]
-----------------------------------------------
原列表: ['A', 'b', 'C', 'd']
升序: ['A', 'C', 'b', 'd']
降序: ['d', 'b', 'C', 'A']
['A', 'b', 'C', 'd']
-----------------sorted()方法---------------------
原列表: [1, 74, 46, 234, 43, 99, 112, 88] 2527316002240
升序列表: [1, 43, 46, 74, 88, 99, 112, 234] 2527309132288
降序列表: [234, 112, 99, 88, 74, 46, 43, 1] 2527316002368

 4.使用列表生成式创建列表

import random
lst=[item for item in range(1,11)]
print(lst)

lst=[item*item for item in range(1,11)]
print(lst)

# 创建一个列表,随机生成10个元素(范围在1-100之间)
lst=[random.randint(1,100) for _ in range(10)]
print(lst,)

# 从列表中选择符合条件的元素组成新的列表
lst=[i for i in range(10) if i%2==0]
print(lst,)

运行结果:
 

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[84, 90, 58, 18, 10, 95, 58, 47, 97, 49]
[0, 2, 4, 6, 8]

5.二维列表的遍历

# 创建二维列表
lst=[
    ['城市','环比','同比'],
    ['北京',102,103],
    ['上海',104,504],
    ['深圳',100,39],
]
print(lst)
print('---------------------# 遍历二维列表使用双层for循环------------------------')
# 遍历二维列表使用双层for循环
for row in lst: # 行
    for item in row: # 列
        print(item,end='\t')
    print() # 换行

 运行结果:
 

[['城市', '环比', '同比'], ['北京', 102, 103], ['上海', 104, 504], ['深圳', 100, 39]]
---------------------# 遍历二维列表使用双层for循环------------------------
城市	环比	同比	
北京	102	103	
上海	104	504	
深圳	100	39	

 6.使用列表生成式创建二维列表

print('---------------------# 列表生成式生成一个4行5列的二维列表------------------------')
lst2=[[j for j in range(5)] for i in range(4)]
print(lst2)

运行结果:

---------------------# 列表生成式生成一个4行5列的二维列表------------------------
[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]

 7.总结

列表的特点:

  1. 有序性:列表中的元素是有序排列的,可以通过索引访问和操作列表中的元素。

  2. 可变性:列表是可变的数据结构,可以对列表中的元素进行增加、删除、修改等操作。

  3. 多样性:列表中可以存储不同类型的数据,甚至可以包含其他列表,元组等数据结构。

  4. 灵活性:列表的长度和元素类型可以随意改变,可以根据需要动态调整列表的内容。

  5. 支持切片操作:可以通过切片操作来获取列表的子集,方便对列表进行分割和操作。

  6. 支持列表推导式:可以使用列表推导式快速生成列表,简化代码编写。

  7. 可迭代性:列表是可迭代的数据结构,可以使用循环遍历列表中的元素。

  8. 内置方法丰富:Python提供了丰富的内置方法来操作列表,如append()remove()pop()等,方便对列表进行各种操作。                                                                                           

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值