inmeditation

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)

enumerate()枚举

枚举函数
用于将一个可遍历的数据对象(如列表,元组,字符串)组合为一个索引序列

list1 = [\'海底捞\', \'呷哺呷哺\', \'热辣一号\']
for indexs,values in enumerate(list1):
	print(indexs,values)
0 海底捞
1 呷哺呷哺
2 热辣一号
for index,value in enumerate(\'呷哺呷哺\'):
	print(index,value)
0 呷
1 哺
2 呷
3 哺

算法

冒泡排序

两种方式

nums = [8,10,7,5]
for i in range(len(nums)):
	for j in range(i+1,len(nums)):
		if nums[i] > nums[j]:
			nums[i],nums[j] = nums[j],nums[i]
print(nums)
[5, 7, 8, 10]
mylist = [1,4,0,7]
for i in range(len(mylist)-1):
	for j in range(len(mylist)-1-i):
		if mylist[j] > mylist[j+1]:
			mylist[j],mylist[j+1] = mylist[j+1],mylist[j]
print(mylist)
[0, 1, 4, 7]

tuple

类似列表

特点

  • 1 定义的符号()
  • 2 元组中的内容不可更改

当元组中只有单个元素时,需要加逗号

t1 = ()
print(t1,type(t1))
t2 = (1)
print(t2,type(t2))
t3 = (\'hello\')
print(t3,type(t3))
t4 = (1,)
print(t4,type(t4))
() <class \'tuple\'>
1 <class \'int\'>
hello <class \'str\'>
(1,) <class \'tuple\'>

拆包

t1 = (4,7,9)
a,b,c = t1
print(a,c)

当变量个数和元组个数不一致时
会报错,该如何处理

t1 = (2,5,8,9,7)
a,*b,c = t1
print(a,b,c)

*a,b = t1
print(a,b)

t1 = (4,)
a,*b = t1
print(a,b)
2 [5, 8, 9] 7
[2, 5, 8, 9] 7
4 []

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-27
  • 2021-04-10
  • 2019-01-27
  • 2022-02-05
  • 2021-08-18
  • 2022-12-23
猜你喜欢
  • 2021-09-21
  • 2021-07-24
  • 2021-09-06
  • 2021-06-16
  • 2021-08-05
相关资源
相似解决方案