51-列表的定义和获取元素
作用:类似其他语言的数组。
数组: 数字的组合 字母的组合 字符串的组合...
符号: 列表 : [ ]" "# 声明
names = ['jack','tom','lucy','superman','ironman'] # 列表
computer_brands = []"
"# 地址
print(id(names))
print(id(computer_brands))"
"# 元素获取使用: 下标 索引
print(names[0])
print(names[1])"
"# 获取最后一个元素
print(names[-1])
print(len(names))
print(names[len(names)-1])"
例题:
# 查询names里面有没有保存超人
# 查询names里面有没有保存超人
for name in names: # name = jack name=tom
if name == 'superman':
print('有超人在里面!')
break
else:
print('没有找到超人在里面!')
# 简便 't' in 'they' ----> True False
if 'superman' in names: # 判断有没有
print('有超人在里面!')
else:
print('没有找到超人在里面!')
52-列表操作更新和删除
brands = ['hp','dell','thinkpad','支持华为','lenovo','mac pro','神州'] # HASEE
# 改
print(brands)
print(brands[-1])
brands[-1]='HASEE'
# 赋值 步骤:1.找到(使用下标) 2. 通过=赋值 3.新的值覆盖原有的值
改-循环 "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[2]
print(brands)"
例题:
# 删除 只要是 hp , mac 都要删除
l=len(brands)
i=0
while i<l:
if 'hp' in brands[i] or 'mac' in brands[i]:
del brands[i]
l-=1 # 长度的减少
i+=1 # 下标的增加
print(brands)
words = ['hello','good','apple','world','digit','alpha']
提示输入一个单词比如:hello,如果输入的单词在列表中则删除
最后打印删除后的列表
words = ['hello','good','gooo','world','digot','alpha']
w = input('请输入一个单词:')
# 方式1:
# if w in words:
# print('存在次单词')
# 'abc' in ['abc','hello','aaaa',..] 内容有没有在列表中存在
# 'go' in 'good' 判断字符串w有没有出现在word
# for word in words:
# if w == word: # == 'go'=='good' in
# print('存在此单词!')
# break
53-总结
"if 'good'=='good': # == 比较的是内容 'good' 'good'
print('相等')
if 'good' in 'goods': # in 运算符 应用在字符串判断中 也可以用在[]
print('相等或者包含')"
"if 让 in 判断作为一个条件表达式:
if 'a' in 'abc':
pass
if 'a' in ['a','b','c']:
pass
但是:
for ... in 循环条件
for 变量 in 字符串|列表:
pass" "i=1
for w in ['goods','good','abc','aaaa']:
# w=goods w=good w=abc w=aaaa
print('good' in w) # True True False False
print('------->',i)
i+=1" "if 'good' in ['goods','good','abc','aaaa']:
pass"
54-删除漏删问题
words = ['hello','goods','gooo','world','digot','alphago']
w = input('请输入一个单词:')
i = 0 # 表示下标
l = len(words) # 5
while i<l: # i<5
if w in words[i]:
del words[i]
l-=1
# i-=1
continue
i+=1
print(words)
55-列表的切片操作 "# 字符串切片操作
# s = 'abcdefg' s[2:5] --->cde" "# 标号:
list1 = ['杨超越','热巴','佟丽娅','杨幂','赵丽颖','刘亦菲','黑嘉嘉',100,99.9]
print(list1)
print(list1[3])"
"# 列表也是支持切片 从左向右
print(list1[3:6]) # 将截取的结果再次保存在一个列表中 ['杨幂','赵丽颖','刘亦菲']
print(list1[-3:-1])
print(list1[::2]) # 步长
print(list1[-5:-1:2]) #
" "# 反方向 从右向左
print(list1[-1::-1])
print(list1[-1::-2]) # [99.9,'黑嘉嘉','赵丽颖','佟丽娅','杨超越']"
56-列表添加
# 列表的函数使用: append "# append() 末尾追加
# while True:
# name = input('请输入你心目中的美女名字:')
# if name=='quit':
# break
# girls.append(name)
# print(girls)"
# 列表的函数使用 extends "# extend 类似列表的合并
names=['黑嘉嘉','孙俪','巩俐','王丽坤']
# name = input('请输入你心目中的美女名字:')
# girls.extend(names)
print(girls)
# 符号 + 也可以用于列表的合并
girls = girls+names
print(girls)"
current
# 列表的函数使用: insert "# insert 插入
# ['杨幂','黑嘉嘉','孙俪','巩俐','王丽坤']
# 0 1 2 3 4
# append 末尾追加
# insert 指定位置添加
# extend 一次添加多个元素
girls.insert(1,'刘涛')
print(girls)"