首页 > 编程语言 > 详细

Python基础02

时间:2019-07-09 21:41:10      阅读:100      评论:0      收藏:0      [点我收藏+]

Python基础02

内容大纲

1.列表

2.元组

3.range

1.列表

列表 -- list -- 容器
    有序,可变,支持索引
列表: 存储数据,支持的数据类型很多 字符串,数字,布尔值,列表,集合,元祖,字典
切记:list不要当变量名,之间的逗号必须使用英文的
    
定义一个列表
lst = ["dsb",123,True,"黑哥"] # 用逗号分隔的是一个元素定义一个列表
lst = ["dsb",123,True,"黑哥"] # 用逗号分隔的是一个元素

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

字符串不可变,相当于只是从一个变到另一个 
列表可变,相当于是产生了一个新的空间,显示的是新的空间     
输出的时候,字符串是新赋的值,列表是还原值
字符串:s1 = s.replace()   print(s1)
列表:lst.append()  print(lst)
    
lst[0] = "dsb"
print(lst)  # ['dsb', 123, True, '黑哥']

s = "alex" # 字符串是不可变数据
s = "wusir"
s[0] = "b"
print(s)

1.1 增加

lst.append("大煎饼")  #追加(在列表的最后位置添加一个内容)
print(lst)

lst.insert(2,"wusir")  #插入  以后尽量不要使用(当数据量比较大的时候会影响效率)
print(lst)        2:一定要声明,否则就会报错

lst.extend("可迭代的内容")  # 迭代添加
print(lst)              不能放数字或布尔值,只能放可迭代对象

1.2 删除

lst.pop()  # 弹 -- 默认删除最后一个
print(lst)   有返回值,返回被删除的对象, 

lst = ["dsb",123,True,"黑哥"]
lst.pop(2)   # 通过指定索引进行删除,超出范围会报错
print(lst)

lst = ["dsb",123,"dsb",True,"黑哥"]
lst.remove("dsb") # 移除 -- 通过元素名字进行删除
print(lst)

del lst[0]  # 通过索引删除   删除完列表就不存在了
print(lst)

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

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

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

1.3 改

lst = ["dsb",123,"dsb",True,"黑哥"]
lst[1] = "123"
print(lst)

lst = ["dsb",123,"dsb",True,"黑哥"]
lst[1:2] = "12345"
print(lst)      是迭代进来的,数字不能被迭代,元素可以超出切片的位数

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

lst = ["dsb",123,"dsb",True,"黑哥"]
lst[1:4:2] = "12"
print(lst)  # 步长不为1的必须用一一对应,多一个也不行,少一个也不行

1.4 查

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

1.5 列表的嵌套

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


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

2.元组

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

2.1 定义的方式

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

2.2 查

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

for 循环
for i in tu:
    print(i)

3.range

-*- 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)

4.今日总结

列表 -- list
    有序,可变的,索引,
    作用:存储数据的,支持很多种数据类型

定义方式:
lst = [1,"alex","黑哥"]

增:
append 追加
insert 插入
extend 迭代添加

删
del lst  -- 删除整个列表
del lst[1:2] -- 切片删除
del lst[1:4:2] -- 步长删除

pop
  1.默认删除最后一个
  2.有返回值返回的是被删除的元素
  3.通过索引进行删除

clear 清空列表
remove 通过元素进行删除

改
lst[0] = 1
lst[1:2] ="qaaa"   # 元素可以超出切片的位数
lst[1:4:2] = "12"  # 元素和位置一一对应,多也不行少也不行

查
for i in lst:
    print(i)

列表的嵌套:
取值通过索引进行取值,一层一层的进行查找

2.元组 -- tuple
  只能索引查看和for查看,不能进行增删改
  存储一些重要的信息数据
  元组是不可变的列表

3.range -- 范围
    python3:
        range 是一个可迭代对象
    python2:
        xrange和python3中的range是相似的
        range返回一个列表
    range 是顾头不顾尾

    range(起始位置,终止位置)  --  [起始位置:终止位置]
    range(终止位置)  --  [:终止位置]
    range(起始位置,终止位置,步长)  --  [起始位置:终止位置:步长]

    for 和 range配合使用

面试题:

lst = []
for i in lst:
    lst.append("alex")
    print(lst)  # 不会打印内容  因为lst是空的

lst = [1,2]
for i in lst:
    lst.append("alex")
    print(lst) # 循环打印lst中的内容 -- 此循环是死循环

lst = [1,2]
for i in lst:
    lst.append("alex")
print(lst)  # 死循环 -- 不会打印内容

lst = []
for i in range(5):
    lst.append([])
print(lst)  # [[],[],[],[],[]]

lst = [1,2]
lst[0] = lst
print(lst)  # [[...],2]

Python基础02

原文:https://www.cnblogs.com/liubing8/p/11160594.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!