Python基础(四)列表

一个列表里是可以存储各种数据类型。

name = ["jack", "Tom", "Bob"]

1. 空列表会不会分配地址?

答案是有

computer =[]
print(id(coumpter))
# 输出结果不为空

2. 列表元素的获取

names = ["jack", "Tom", "Bob"]
print(names[0]) # 获取第一个元素
print(names[-1])# 获取最后一个元素
print(names[len(names)-1]) # 获取最后一个元素
# jack
# Bob
# Bob

3. 遍历列表

for name in names: #遍历
	print(name)

4. 查找列表是否存在某个元素

法一:用for循环

names = ["jack", "Tom", "Bob"]
for name in names:
	if name == 'superman':
		print("列表里有超人")
		break
else:
	print("列表里没有超人")

法二:用in运算符

names = ["jack", "Tom", "Bob"]
if "jack" in names:
	print("列表里有杰克")
else:
	print("列表里没有杰克")

5. 改变和删除列表的元素

5.1 直接改变某个元素的值

列表的索引既可以当左值又可以当右值

names = ["jack", "Tom", "Bob"]
names[1] = "Rose"

5.2 通过for循环改变某个元素的值

names = ["jack", "Tom", "Bob"]
for i in range(len(names)):
	if names[i] == "Tom":
		names[i] = "Rose"

5.3 删除元素

通过del关键字可以直接删除原列表的特定元素

del names[2]

练习:
删除 列表 words = [‘hello’, ‘good’, ‘gooo’, ‘world’, ‘god’, ‘alpha’]中含有”go“的单词

words = ['hello', 'good', 'gooo', 'world', 'god', 'alpha']
length = len(words)
i = 0
while i < length:
    if "go" in words[i]:
        del words[i]
        length -= 1
    else:
        i += 1
print(words)

6. 列表的切片操作

原理同字符串,并且切片操作不会改变原来的列表值,必须拿一个新的列表再存储切片后的值。

7. 列表元素的添加

7.1 使用append

可以直接在列表结尾添加元素

alphabet = ['a','b']
alphabet.append('c')
print(alphabet)

7.2 使用extend

若用extend存放字符串元素

alphabet = []
alphabet.extend("love")
print(alphabet)

此时输出结果为

['l', 'o', 'v', 'e']

可以看出extend把你要添加的东西给拆了开来,因此extend不适合添加字符串,那extend适合放什么呢?我们看一下下面的代码

alphabet = ['a','b']
alphabet.extend(['c', 'd', 'e'])
print(alphabet)

此时的输出结果为

['a', 'b', 'c', 'd', 'e']

因此得出结论,extend适合用于列表和列表之间的合并

"+"号运算符也可以用于列表的合并

7.3 使用insert

使用insert可以在指定的位置插入元素

alphabet = ['a','b','d']
alphabet.insert(2,'c')
print(alphabet)

输出结果为

['a', 'b', 'c', 'd']

8. 列表的排序

8.1 sorted排序

sorted函数默认是升序 并且不会改变原来的列表

list1 = [1,4,2,0]
sorted(list) #升序排序
sorted(list,reverse = True) #降序排序

8.2 列表内置的sort排序

sort排序是可以改变原来列表的。用法同sorted

8.3 冒泡排序

9. 找出列表的最大值最小值及求和

list1 = [1,4,2,0]
max(list)
min(list)
sum(list)

10. list内置函数

remove(e):删除列表中第一次出现的元素e,返回空,如果没找到要删除的元素,报出异常

append() 进栈
pop() 出栈:删除列表最后一个元素 并返回被删除的元素
pop(a) :删除列表第a个元素 返回第a个元素

clear()清空列表

reverse()翻转列表

排序:sort()

11. 列表支持的运算符

  • * 和字符串原理一样
  • + 作用类似extend
  • in
  • not in

12. 二维列表(二位数组)

list1 = [[1,2],[2,3],[3,2]]
list1[1][0]
print(list)

13. list()函数(强制类型转换)

list() 可以将range类型转换成list

list(range(5))
list(range(1,5))

14. enumerate()函数

这个函数可以同时取出可迭代对象的索引和值

list1 = [2, 5, 6, 9]
for index, value in enumerate(list1):
	print(index,value)

15

list1 = [list1 = [i for i in range(10) if i % 2 == 0]
print(list1) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值