#列表声明
List表:
作用:类似于其他语言的数组。
符号:列表[]
列表的下标标法
names=['jack','tom','lucy','superman']
brands= ['hp','dell','支持华为','thinkpad','lenovo','mac','神州']
#增删改查,通过下标方式
print(id(names)) #打印地址 print(id(brands)) print(names[0])#列表里的元素获取:使用下标
print(names[1]) print(names[-1])#获取最后一个元素 print(names[len(names)-1])
一 列表查询
#1.结合循环,查询是否在列表中
for name in names:
if name=='superman':
print('有超人在里面')
break
else:
print('没有超人在里面!')
#2.简便的方式
if 'superman' in names:
print('有超人在里面')
else:
print('没有超人在里面!')
二 列表的修改
print(brands[-1]) brands[-1]='HEASEE' #赋值更改,1.找到(通过下表)2.通过复制3.新值覆盖旧值
一种错误修改列表的方式
for brand in brands:
# if '华为' in brand:
# brand ='HUAWEI'#列表内容不会被更改,只更改了brand变量,列表内容不会变
# print(brands)
列表的修改,通过下表方式
for i in range(len(brands)):
#i是0,1,2,3----》小标
if '华为' in brands[i]:
brands[i] = 'HUAWEI'
break
print(brands)
三 列表的删除
#删除 del 是 delete 的缩写 del brands[3] print(brands)
#删除 只要是hp mac 都要删除,for 这种存在漏删
# t= len(brands)
# for i in range(t-1):#删除会使列表长度变短
# if 'hp' in brands[i] or 'mac' in brands[i]:
# del brands[i]
# t=t-1
1.列表的删除方法 del
会漏删的方式
————————————————————————
l= len(brands)
while i<l :
if 'hp' in brands[i] or 'mac' in brands[i]:
del brands[i]
l=l-1 #自动补位的那个元素不进行检查
i=i+1
print(brands)
words=['hello','good','goods','apple','digit','alphe']
w=input('输入要删除单词')
i =0
l=len(words)
while i<l:
if w in words[i]:
del words[i]
l-=1
i+=1
print(words)
输入go
输出结果:['hello','goods','apple','digit','alphe']
出现漏删除
分析出这种方法,由于删补位会导致不对下一个检查,解决方法是下表往前退回一个即可。
———————————————————————
类似列表的合并
#insert 插入,指定位置加入
girls=['杨幂']
names=['黑和','孙俪','巩俐']
girls=girls+names
print(girls)
# ['杨幂','黑和','孙俪','巩俐']
# 0 1 2 3
girls.insert(1,'刘涛')
print(girls)
Append 末尾添加
Insert 指定位置添加
Extend 一次添加多个
练习
整理
'''字符串中可以使用的符号:
in
not in
is
not is
[]
'''
'''
列表中的元素:
整形
字符型
列表
元组
字典
对象
'''
'''
+
* l4=[5,8] print(l4*3) [5,8,5,8,5,8]
in 3 in [1,2,3 ]True [3] in [1,2,3,4,5] False
[3] in [1,2,[3],4,5] True [3] in [1,2,[3,2],4,5] False
'''
#[1,2,3,'aa','bb',[1,2],[6,8,9,10],] 二维列表
ls=[[1,2],[3,4],[5,6]]
print(len(ls))#3
e=ls[2]
print(e,type(e))#列表
print(e[2])#6
print(ls[1][1])#4
'''
类型转换
str()
int()
list() 整形不可以转成list
interable 可迭代的 ,可以在for in 里面可以循环的
'''
print(list(range(1,10,3))) #1,4,7
s='abc'
result=list(s)
print(result) #[a,b,c]
if in 查询 与for的区别
words=['hello','good','apple','digit','alphe']
w=input('请输入一个单词:')
for word in words: #每次取值
if w in word:
print("存在此单词!")
break
输出结果:存在此单词
i=1
if 'good' in ['goods','good','abc','aaa']:
print('包含....',i)#1