1.列表
1.1list
列表的作用就是存放一堆东西,以便后续进行排序, 筛选,提取等操作,弄一个列表, 先放进去 列表中的元素,没有数据类型的限制,可以为任何数据类型
s = [1,2,3,4,5,6,7,8,9,10]
s2 = ['临','兵','斗','者','皆','列','阵','在','前']
list1 = [1, 2, 3,'on','go',True,False,None]
结果
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
['临', '兵', '斗', '者', '皆', '列', '阵', '在', '前']
[1, 2, 3, 'on', 'go', True, False, None]
2.列表的索引和切片
list是一种有序的集合,可以随时添加和删除其中的元素。 也就是说列表是内部元素可变的一个容器mutable 列表和字符串一样,是一种可迭代对象. 因此可以和字符串一样进行索引和切片.语法方面是一样的. 注意:左开右闭
L[起始位置:终止位置:步长]
索引是从0,1,2,3,4,5,6,7,8…
l = [1,2,3,4,5,6,7,8,9,0]
l[2]
3
案列1
数值型
l = [1,2,3,4,5,6,7,8,9,0]
l[-2:0:-3]
l[1::2]
结果
[9, 6, 3]
[2, 3, 4, 5, 6, 7, 8]
[2, 4, 6, 8, 0]
案例2
L = [1,2,3,4,5,]
L[0:3:1]
L[:3:]
L[:3]
结果
[1, 2, 3]
案例3
字符型 L[起始位置:终止位置:步长] 步长:正数表示从左到右,负数表示从右到左
list1 = [33434, '你好', 4545.565555, 'iii', True]
list1[::-1]
[True, 'iii', 4545.565555, '你好', 33434]
list1[::-2]
[True, 4545.565555, 33434]
list1[-2:0:-1]
['iii', 4545.565555, '你好']
索引是从0,1,2,3,4,5,6,7,8…
练习1 提取数据
L = ['python','java', 'C', 'PHP']
从列表中提取出, python,PHP ,[‘java’,‘C’],[‘PHP’,‘java’]
L = ['python','java', 'C', 'PHP']
L[0]
'python'
L[3]
'PHP'
L[1:3]
['java', 'C']
L[-1:-4:-2]
['PHP', 'java']
练习2 用索引取出下面list的指定元素:
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['Adam', 'Bart', 'Lisa']
]
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['Adam', 'Bart', 'Lisa']
]
print(L[1][1])
print(L[2][2]
3.修改列表的元素值
通过元素的索引位置来索引元素
L = ['python','java','C','PHP']
L[0] = 'R'
L
['R', 'java', 'C', 'PHP']
L[-1] = "JavaScript"
L
['R', 'java', 'C', 'JavaScript']
L[1:3] = 'CSS','HTML'
L
['R', 'CSS', 'HTML', 'JavaScript']
4.列表的常用方法
4.1append添加元素(与extend有区别)
通过append可以向列表添加元素 添加数组或者字符串
L = ['Superman','Hulk','Spiderman']
L.append('Leifengxia')
L
['Superman', 'Hulk', 'Spiderman', 'Leifengxia']
4.2练习 使用for循环,把随机生成的数字一次添加到列表中去
L = []
for i in range(1,10):
L.append(i)
L
[1, 2, 3, 4, 5, 6, 7, 8, 9]
L = []
for i in range(1,10):
if i % 2 == 0:
L.append(i)
L
[2, 4, 6, 8]
4.3 extend 添加数据(与append有区别)
通过extend可以将另一个集合中的元素逐一添加到列表中
a = [1,2]
b = [3,4]
a.extend(b)
a
[1, 2, 3, 4]
4.4 extend 与 append的区别
extend 与append相同点在于都可以添加数据,不过对数据添加的形式不一样 append添加元素是以整个数组一起加进去 而extend添加数据是以一个一个字符串的形式添加进去
a = [1,2]
b = [3,4]
a.append(b)
a
[1, 2, [3, 4]]
a.extend(b)
a
[1, 2, 3, 4]
4.5 insert插入元素
insert(index, object) 在指定位置index前插入元素object
a = ['插','入','素']
a.insert( 2,'元')
a
['插', '入', '元', '素']
4.6 查找元素 in not in index count
test = ['插', '入', '元', '素','元']
4.6.1 in的用法 检测该元素是否在里面
'入' in test
True
4.6.2not取反
'元' not in test
False
4.6.3 Index索引数组的位置(与find类似)
test.index('元')
2
4.6.4 find用法
s ='xyz'
s.find('z')
2
4.6.5count 查找数组的数量
test.count('元')
2
4.7 删除元素del pop remove
4.7.1del:根据下标进行删除
test = ['能','不','能','给','我','一','首','歌','的','时间']
del test [1:3]
test
['能', '给', '我', '一', '首', '歌', '的', '时间']
4.7.2 pop:删除最后一个元素
默认删除最后一个元素 可以指定删除某一个元素 直接输入数组的索引值就好了
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
movieName.pop()
movieName
4.7.3 remove:根据元素的值进行删除
指定删除某一个元素
movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
movieName.remove('骇客帝国')
movieName
4.8 对元素排序sort reverse
排序(sort, reverse)
4.8.1 sort 排序
sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。
默认由小到大
a = [1, 4, 2, 3]
a
a.sort()
a
[1, 2, 3, 4]
4.8.2 reverse方法是将list逆置
reverse = True表示从大到小 默认False
a = [1, 4, 2, 3]
a.sort(reverse=True)
a
[4, 3, 2, 1]
4.9 练习
有以下列表
L = [‘最怕空气突然安静’,‘最怕朋友突然的关心’,‘最怕回忆’,‘突然翻滚绞痛着’,‘不平息’,‘最怕忽然’,‘听到你的消息’]
M = [‘想念如果会有声音’,‘不愿那是悲伤的哭泣’,‘终于让自己属于’,‘我自己’]
-
将M列表中的歌词合并到L中,使歌词串联在一起. -
在列表中插入缺少的一句歌词,使顺序连续. -
查找列表中是否含有元素"最怕回忆" -
删除列表中的"最怕回忆" -
将歌词拼接成一个字符串 -
将歌词翻转,使用join方法
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"
L = ['最怕空气突然安静','最怕朋友突然的关心','最怕回忆','突然翻滚绞痛着','不平息','最怕忽然','听到你的消息']
M = ['想念如果会有声音','不愿那是悲伤的哭泣','终于让自己属于','我自己']
L.extend(M)
L
L.index('最怕回忆')
L
L.remove('最怕回忆')
['最怕空气突然安静',
'最怕朋友突然的关心',
'最怕回忆',
'突然翻滚绞痛着',
'不平息',
'最怕忽然',
'听到你的消息',
'想念如果会有声音',
'不愿那是悲伤的哭泣',
'终于让自己属于',
'我自己']
2
['最怕空气突然安静',
'最怕朋友突然的关心',
'最怕回忆',
'突然翻滚绞痛着',
'不平息',
'最怕忽然',
'听到你的消息',
'想念如果会有声音',
'不愿那是悲伤的哭泣',
'终于让自己属于',
'我自己']
4.10 练习
小应用: 分别打印出字符串的索引值和字符串本身
colors = ['red', 'green', 'blue', 'yellow']
n = 0
for i in colors:
print(n, "--->", colors[n])
n+=1
0 ---> red
1 ---> green
2 ---> blue
3 ---> yellow
这样也可以,效果也是一样
for i in range(len(colors)):
print(i , "---->", colors[i])
这个也可以
for i, color in enumerate(colors):
print(i, "---->", color)
4.11 列表生成式List Comprehensions
如果我们想要生成一个由1 - 10的数字组成的列表,都有什么办法呢? 1.
a = [1,2,3,4,5,6,7,8,9,10]
a
list(range(1,11))
L = []
for i in range(0,12):
L.append(i)
L
[i for i in range(1,11) ]
|