Day 4 列表,元组,range

s = 'alex'
列表--list
有序,可变,支持索引
列表:存储数据,支持的数据类型很多 字符串,数字,布尔值,列表,集合元组,字典

定义一个列表
lst = ['dsb',123,True,'黑哥']#用逗号分割的是一个元素

print(lsr[0])
print(id(lst[0]))
id获取对象的内存地址

lst[0] = 'dsb'
print(lst)#['dsb',123,True,'黑哥']

s = 'alex'#字符串是不可变数据
s = 'wusir'
s[0] = b
print(s)#报错,字符串不可更改

增加
lst = ['dsb',123,True,'黑哥']

lst.append('大煎饼')#追加(在列表的最后位置添加一个内容)
print(lst)#lst = ['dsd',123,True,'黑哥','大煎饼']

lst.insert(2,'wusir')#插入,以后尽量不要使用(当数据量比较大的时候会影响效率)
print(lst)

lst.extend('可迭代内容')#迭代添加
print(lst)

删除
lst.pop()弹---默认删除最后一个
print(lst)

lst = ['dsb',123,True,'黑哥']
lst.pop(2)#通过制定索引删除
print(lst)

lst = ['dsb',123,'dsb',True,'黑哥']
lst.remove('dsb')#移除---通过元素名进行删除,如果有重复出现的元素,remove值删除第一个
print(lst)

del lst(0)#通过索引删除
print(lst)

del lst(0:3)#通过切片删除
print(lst)

del lst(0:3:2)#通过步长删除
print(lst)

lst.clear()#清空
print(lst)


lst = ['dsb',123,'dsb',True,'黑哥']
lst[0] = '123'
print(lst)#['123', 123, 'dsb', True, '黑哥']

lst = ['dsb',123,'dsb',True,'黑哥']
lst[1:2] = '12345'
print(lst)#['dsb', '1', '2', '3', '4', '5', 'dsb', True, '黑哥']

lst = ['dsb',123,'dsb',True,'黑哥']
lst[1:4] = 12,13,14,15
print(lst)#['dsb', 12, 13, 14, 15, '黑哥']

lst = ['dsb',123,'dsb',True,'黑哥']
lst[1:4:2] = '12'
print(lst)#['dsb', '1', 'dsb', '2', '黑哥']

步长不为1的必须一一对应,多一个也不行,少一个也不行


for循环
lst = ['dsb',123,'dsb',True,'黑哥']
for i in lst:
print(i)#dsb
123
dsb
True
黑哥

列表的嵌套:

lst = [1,"alex","春生","小东北","渣弟",
["大黑哥",["常鑫",["自行车"],"大煎饼","掉井盖","三金"],
"冯强","海峰",["太白金星","女神","吴超",["肖锋"]]]]
print(lst[-1][1][1][0])

a = lst[-1][-1][-2]
print(a)
不管什么类型进行切片的时候获取都到都是源数据类型

元组--tuple
有序,不可变,支持索引
元组用于尺寸一些比较重要的信息
元组在配置文件中会使用
元组就是不可变的列表

定义的方式:

tu = (1,'alex',True,'大黑哥',[1,2,3])
lst = [1,'alex',True,'大黑哥',[1,2,3]]
print(tu)

tu = (1,"alex",True,"大黑哥",[1,2,3])
print(tu[0:6])#(1, 'alex', True, '大黑哥', [1, 2, 3])

for 循环
for i in tu:
print(i)#1
alex
True
大黑哥
[1, 2, 3]

-- coding:utf-8 --
range -- 范围
print(list(range(0,10))) # 顾头不顾尾

python3 中的range是一个可迭代对象 写得是怎样的打印的时候就是怎样
获取成列表:list(range(0,10)) 顾头不顾尾
python2 中的range返回的是一个列表

print(list(range(0,10,1))) #步长不写得时候默认为1 [0:10:1]
print(list(range(10,-2,-1))) #步长不写得时候默认为1 [10:-2:-1]
print(list(range(10))) #步长不写得时候默认为1 [:10]

使用for循环和range 打印 100 ~ 1
for i in range(100,0,-1):
print(i)

for i in range(1,101,2):
print(i)

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

for i in range(0,101,6):
print(i)

错误示例:
while range(0,10):
print(1)

lst = []
flage = True
while flage:
name = input("请输姓名:")
lst.append(name)
if len(lst) == 3:
flage = False

print(lst)

lst = []
for i in range(3):
lst.append(input("请输入姓名:"))
print(lst)

posted @ 2019-07-10 08:32  犇羴鱻龘毳  阅读(162)  评论(0编辑  收藏  举报