day 4 - 1 列表

1.列表的增删改查

 

1)  append insert extend

li = ["ysg",[1,2,3,4,5],"peipei","梦幻","利金斯"]

#
append 在末尾增加 li.append('阴天') li.append("666") li.append("[12,13,14]") print(li)
小示例:循环向列表中添加数据,输入 "Q|q" 结束 li
= [] while 1: username = input(">>>") if username.strip().upper() == 'Q':   break else:   li.append(username) print(li) # insert 插入 li=["abc","efg"] li.insert(1,"d") print(li) #extend 迭代插人到最后 # 'int' object is not iterable li=["abc","efg"] li.extend("亦双弓") print(li) li.extend([1,2,3]) print(li) li.extend(123) print(li)

2)删除 pop remove clear del

li = ["ysg",[1,2,3,4,5],"peipei","梦幻","利金斯"]

name = li.pop(1)
print(name,li) #有返回值
print(li)

name = li.pop() #默认删除最后一个值
print(name,li)

li.remove([
1,2,3,4,5]) #按元素删除,没有返回值 print(li)
li.clear()
#清空列表 print(li)
del li # 删除列表 print(li) del li[3:] #del 结合切片删除 print(li)

3)改 

li = ["ysg",[1,2,3,4,5],"peipei","梦","利金斯"]
li[1] = "and"
li[1] = [1,2,3]
print(li)

#切片 当添加的值小于切片的范围时,只添加已有的值
#即:添加的原理是 先删除后添加
li[0:3] = "ysg"
print (li)

li[0:3] = "hw"
print (li)

#如果添加的值大于切片的范围时,大于的值在切片范围后继续添加
li[0:3] = [1,2,3,"abc","efg"]
print(li)

 

4)查 for循环 切片

li = ["ysg",[1,2,3],"peipei","黎幻镇","利金斯"]

for i in li:
print(i)

print(li[0:3])

2.公共方法

li = ["ysg",[1,2,3],"ysg","peipei","黎幻镇","利金斯"]

l = len(li) #数组长度
print(l)

print(li.count('ysg')) #统计出现次数

print (li.index("peipei")) #索引出现位置,默认第一次出现的位置

3.排序

li = [1,5,3,8,7,9,2,3]

li.sort()  #sort 排序是最快的 因为使用 C 语言的写的
print(li)

li.sort(reverse=True) #倒序
print(li)

li.reverse() #反转
print(li)

4.列表的嵌套

#1)找到 梦幻 中的幻字

print(li[4][1])

# 2)把 利金斯 中的 金斯 改为 益

li[5]="利益"
print(li)

li[5]=li[5].replace("金斯","")
print(li)

# 3)把 peipei 首字母大写

li[3]=li[3].capitalize()
print(li[3],li)

5.元组

#只读列表,可循环查询 可切片
#儿子不能改 孙子可能可以改

yu=(12,3,'ysg',[1,23,'ysg'])
print(yu[2])
print(yu[3])

for i in yu:
    print(i)

#修改 元祖中的数组
yu[3][1]=2
print(yu)

#修改 元祖中的数组
yu[3][2]=yu[3][2].upper()
print(yu)

#在元祖中的数组添加值

yu[3].append("end")
print(yu)

7.join 列表转换为字符串

#字符串转换为列表 split
#注意:使用 join 时,列表中不能再存在列表
li = ["ysg","ysg","peipei","黎幻镇","利金斯"]
print(li)

j = "_".join(li)
print(j)

8. range 生成数字列表,顾头不顾尾

for i in range(0,10):
    print(i)

for i in range(3,10):
    print(i)

for i in range(10):
    print(i)

for i in range(0,10,2):
    print(i)

for i in range(10,0,-1):
    print(i)

for i in range(10,0,-2):
    print(i)

for i in range(0,10,-1): #什么都不输出
    print(i)

for i in range(10,-10,-2):
    print(i)

for i in range(10,-2): #什么都不输出
    print(i)

for i in range(-2,10): # -2 为开头
    print(i)

 

posted @ 2018-10-20 10:39  亦双弓  阅读(150)  评论(0编辑  收藏  举报