python基础day5列表的切片和增删改查和元祖和range

课程和回顾:
1.find通过元素找索引,可以切片,找不到返回-1
2.index通过元素找索引,可切片,找不到报错
3.split 由字符串分割成列表,默认按空格分隔,如以't'分割 t为首元素,前面有个空元素。
4.captalize 首字母大写,其他小写
5.upper.lower 全大写全小写
6.tiyle,每个单词首字母大写。以空格或特殊符号分割
7.startswith 判断以什么开头,可切片,整体概念。
8.endswith 判断以什么为结尾,可切片,整体概念。
9.format {}{}{}.format(有顺序)
{0}{1}{2}{0}.format(有顺序)
{name}{age}{high}{hobbie}.format(name=alex,age=12,high=178,hobbie=football)
10strip 默认去掉两侧空格,有条件,叠带去除。
11lstrip,rstrip
12center居中,默认是空格,必须设置长度。
13count 统计元素个数,可以切片,找不到返回0
14expandtabs 8位 不齐 超过八位 16位
15replace 替换 (old,new ,次数)
16isdigit数字 isalpha 字母 isalnum 数字或字母
17 swapcase 大小写反转
18 for循环

1.列表的增删改查等
[1,2,'c',True] 存的数据不是关系型
1索引和切片
a = [1,2,3,'af','re',4,'45']
print(a[0])
print(a[3])
print(a[-1])
切片
print(a[0:3])
print(a[2:5])
步长
print(a[0:5:2])
print(a[-2::-2])
print(a[5:0:-2])

2.增加 append 在原列表改变,在最后增加一个元素
a = ['jinxing','alex','wusir']
a.append('liusiyao')
print(a)
while True:
name = input('请输入您的名字:')
if name.lower == 'q':
break
else:
a.append(name)
print(a)
在任意位置添加insert 插入
a = ['jinxing','alex','wusir']
a.insert(1,'ritian')
print(a)
extend() 迭代的添加 也是添加到最后
a = ['jinxing','alex','wusir']
a.extend('q')
a.extend('sdt')
a.extend([1,2,3,'sdsd'])
print(a)

删除 pop 按照索引去删除,有返回值
a = ['jinxing','alex','wusir']
a.pop(1) 有返回值返回值是你删的元素
print(a)
remove按照元素去删除 没有元素会报错
a = ['jinxing','alex','wusir','alex']
a.remove('alex')
print(a)
a = ['jinxing','alex','wusir','alex']
i = 0
while i < 3:
if a[i] == 'alex':
a.remove(a[i])
i += 1
print(a)
#clear 清空列表
a.clear()
print(a)
del 删除可以切片
a = [1,2,3,'qq','cc','ss']
del a[2]
print(a)
del a[2:4]
print(a)


改 切片先删除,迭代的添加
a = [1, 2, 3, 'qq', 'cc', 'ss']
# a[0] = '男神'
# print(a)
a[0:3] = '都是男人'
a[0:1] = '都是男人'
a[0:2] = ['asd',]
a = ['taibai','alex','wuser','lili','aa','bb']
a[0:5]= '都是男人'
print(a)


print(a[1:4])
for i in a:
print(a)

计数
li = [1,2,3,1,'a','4',1]
print(li.count(1))
排序 数据类型有序才能排序
正序sort
li = [1,3,4,2,8,9]
li.sort()
print(li)
反转reverse()
li.reverse()
print(li)
li.sort(reverse=True) #倒叙排序

2.元组
tupe() 可切片可查询,元祖不能更改,儿子不能改,孙子能改
t = (1,2,3,'asd',True,[12,3,'元昊','taibai'],('fsas',2,3))
print(t[4])
print(t[1:4])
for i in t:
print(i)
t[5][2] = '元日天'
print(t)

range范围,相当于可迭代对象
for i in range(0,10,2): #步长
print(i)
for i in range(10, 1, -2): # 步长 反向
print(i)

li = [1,2,3,4,[1,2,'太白','alex'],2]
for i in range(0,len(li)):
if i == 4: #type(li[i]) == list
for a in li[i]:
print(a)
else:print(li[i])

print(li.index(2))

3.列表的嵌套操作
li = [1,2,5,'taibai','yuanhao',[1,'alex',3,],True]
print(li[3]) # 找出taibai
print(li[3][3]) # 找出taibai里面的b
s = li[4].capitalize()
li[4] = s
li[4] = li[4].capitalize()
li[4] = li[4][0:4] + ('日天')
s2 = li[4].replace('hao','日天')
li[5][0] = '文杰' #主体是字符串不能更改只能替换,主体是列表可以更改
li[5][1] = li[5][1].upper()
posted @ 2017-10-25 14:21  AUU同学  阅读(120)  评论(0)    收藏  举报