python列表
list
列表声明
names = ['jack','tom','lucy','superman','ironman']
computer_brands = []
print(id(names),id(computer_brands))
1936992438216 1936992438920
元素获取
通过下标和切片
获取全部元素
print(names)
获取第一个元素
print(names[0])
获取最后一个元素
print(names[-1])
print(names[len(names)-1])
获取第二个到第四个元素
print(names[1:4])
获取第二个到最后一个元素
print(names[1:])
获取第二个元素到最后,间隔一个元素取一个元素
print(names[1::2])
循环遍历
查看超人是否在列表中
for name in names:
if name == 'superman':
print('超人在里面!')
break
else:
print('这里没有超人')
in方法
查看超人是否在列表中
if 'superman' in names:
print('超人在里面')
else:
print('这里没有超人')
更改
下标更改
brands = ['hp','dell','thinkpad','支持华为','mac','联想']
brands[-1] = 'lenovo'
print(brands)
['hp', 'dell', 'thinkpad', '支持华为', 'mac', 'lenovo']
遍历更改
for i in range(len(brands)):
if '华为' in brands[i]:
brands[i] = 'HUAWEI'
break
print(brands)
['hp', 'dell', 'thinkpad', 'HUAWEI', 'mac', 'lenovo']
删除
del
del brands[2]
print(brands)
['hp', 'dell', 'HUAWEI', 'mac', 'lenovo']
根据内容删除多个元素
lens = len(brands)
i = 0
while i<lens:
if 'hp' in brands[i] or 'dell' in brands[i]:
del brands[i]
lens -= 1
continue
i+=1
print(brands)
['HUAWEI', 'mac', 'lenovo']
remove()
删除列表中第一次出现的元素,返回值为None
如果没有找到要删除的元素,则报出异常
hotpot_list = ['海底捞','呷哺呷哺','张亮麻辣烫','热辣一号','张亮麻辣烫']
hotpot_list.remove('张亮麻辣烫')
print(hotpot_list)
['海底捞', '呷哺呷哺', '热辣一号', '张亮麻辣烫']
pop()
移除列表中最后一个元素
返回值为删除的元素
hotpot_list = ['海底捞', '呷哺呷哺', '热辣一号', '张亮麻辣烫']
a = hotpot_list.pop()
print(hotpot_list)
print(a)
['海底捞', '呷哺呷哺', '热辣一号']
张亮麻辣烫
clear()
清除列表(里面的所有元素全部删除)
没有返回值
hotpot_list = ['海底捞', '呷哺呷哺', '热辣一号']
a = hotpot_list.clear()
print(hotpot_list)
print(a)
[]
None
列表添加
append() 末尾追加
girls = []
name = input('请输入你心目中的美女名字: ')
girls.append(name)
print(girls)
请输入你心目中的美女名字: 杨幂
['杨幂']
循环追加
girls = []
while True:
name1 = input('请输入你心目中的美女名字: ')
if name1 == 'quit' or name1 == 'exit':
break
girls.append(name1)
print(girls)
请输入你心目中的美女名字: 杨幂
请输入你心目中的美女名字: 宋宋姐
请输入你心目中的美女名字: 诸葛大力
请输入你心目中的美女名字: exit
['杨幂', '宋宋姐', '诸葛大力']
insert
插入:根据下标插入
name1 = ['杨志刚','于和伟','陈震']
name1.insert(1,'胡歌')
print(name1)
['杨志刚', '胡歌', '于和伟', '陈震']
extend
一次添加多个元素
类似列表的合并
name1 = ['杨志刚','于和伟','陈震']
girls = ['杨幂','刘涛']
name1.extend(girls)
print(name1)
['杨志刚', '于和伟', '陈震', '杨幂', '刘涛']
也可以使用符号’+’
name1 = ['杨志刚','于和伟','陈震']
girls = ['杨幂','刘涛']
name1 = name1+girls
print(name1)
['杨志刚', '于和伟', '陈震', '杨幂', '刘涛']
产生10个随机数,将其保存到列表中
1~20范围内
import random
random_list = []
for i in range(10):
ran = random.randint(1,20)
random_list.append(ran)
print(random_list)
[3, 1, 11, 7, 13, 16, 8, 16, 8, 11]
产生10个随机数,不能相同,将其保存到列表中
import random
random_list = []
i = 0
while i < 10:
ran = random.randint(1,11)
if ran not in random_list:
random_list.append(ran)
i += 1
print(random_list)
[1, 5, 2, 9, 7, 11, 3, 6, 8, 10]
列表嵌套
list1 = [[1,2],[3,2,1],[4,5]]
a = len(list1)
print(a)
a = [1,2] in list1
print(a)
a = [3,2] in list1
print(a)
a = list1[1]
print(a)
a = list1[2][0]
print(a)
3
True
False
[3, 2, 1]
4
函数
求列表中最大最小值
max函数求最大值
mvalue = max(random_list)
print(mvalue)
min函数求最小值
minvalue = min(random_list)
print(minvalue)
自定义方式
maxvalue = random_list[0]
minvalue = random_list[0]
for value in random_list:
if value > maxvalue:
maxvalue = value
if value < minvalue:
minvalue = value
print(maxvalue,minvalue)
求和
sumvalue = sum(random_list)
print(sumvalue)
sumvalue = 0
for values in random_list:
sumvalue += values
print(sumvalue)
排序
sorted()
默认是升序
指定reverse=True后为降序
new_list1 = sorted(random_list)
print(new_list1)
new_list1 = sorted(random_list,reverse=True)
print(new_list1)
[16, 18, 29, 70, 75, 79, 85, 87, 94, 97]
[97, 94, 87, 85, 79, 75, 70, 29, 18, 16]
sort()
list1 = [4,8,1,8,9,5,7]
list1.sort()
print(list1)
list1.sort(reverse=True)
print(list1)
[1, 4, 5, 7, 8, 8, 9]
[9, 8, 8, 7, 5, 4, 1]
反转
改变列表元素本身的位置结构
没有返回值
hotpot_list = ['海底捞', '呷哺呷哺', '热辣一号', '张亮麻辣烫']
hotpot_list.reverse()
print(hotpot_list)
['张亮麻辣烫', '热辣一号', '呷哺呷哺', '海底捞']
统计出现的次数
count
list1 = [4,8,1,8,9,5,7]
a = list1.count(8)
print(a)