Python基础知识(四) 列表 , 字典 , 元组. 切片

Python基础知识(四)

一丶列表

  1. 定义格式:

    是一个容器,由 [ ]表示,元素与元素之间用逗号隔开.

    如:name=["张三","李四"]

  2. 作用:

    存储任意类型的数据 (32位机器能存5亿多,64为机器存储更多)

  3. 特点:

    可变 (增,删,改,查) 默认从左到右 ,从0开始 .

    有序(索引,切片,步长)

  4. 操作:

    增 , 删 , 改 ,查 ,索引,切片,步长 👇


#列表的两种定义方式
    name=["香蕉","西瓜","水蜜桃","桔子",1,2,3]
    a=list('abc')      #迭代生成列表 -->['a','b','c']  
    

####追加元素
#append("梨子")  追加 ,追加到列表的末尾.
print(name.append("梨子")) #---> [....(省略),"梨子"]


#insert(索引,"内容") 指定索引位置插入,参数一:索引,参数二:内容,效率低
print(name.insert(1,"苹果")) #-->['香蕉','苹果','西瓜']


#extend() 扩展 迭代添加到列表末尾 ,底层是通过for循环追加
print(name.extend('abc'))#--->[...,'a','b','c']
#底层:for i  in 'abc' : li.append(i)


#列表合并,生成一个新的列表
 a=[1,2,3]
 b=[1,2,3]
 print(a+b) # 列表合并


####删除操作
#pop()     弹出 ,默认删除最后一个, 唯一能够返回删除内容,
res=name.pop()
print(res) # -->得到删除的内容
print(name.pop(1))# 可以通过删除列表中元素的索引,删除元素


#remove() 通过删除元素的名字, 删除最左边的,指定一个参数
print(name.remove('香蕉'))


#clear() 清空列表 
print(name.clear()) # -->[]


#del   删除整个列表  , 会出现列表未定义的错误
del name  			#删除整个列表 ,列表内存地址也会清理
def name[1] 		#删除指定索引的元素
del name[1:3]		#删除区间
del name[1:4:2]		#步长删除


#修改
#按照元素索引修改
name[1]='杏'
print(name[1]='杏')  ---> ['香蕉','杏',...]


#切片修改, 修改的内容可多可少,可指定任意空类型数据
name[1:5]='abc' # -->['香蕉','a','b','c']


#步长修改 (修改几个地方,填充几个数据,修改多少,不能不能少)
name[1:5:2]='你好'    # 迭代修改
name[1:5:2]='你','好'    # 指定修改


### 位置替换总结:
    # 步长为正:    步长为1: 任意替换      ,     步长>1:替换的位置必须一一对应(切出来几个位置,替换几个位置)

    # 步长为负:     替换位置必须一一对应



#查询
#索引查
print(name[1]) # 查询 索引为1 的数据


# 切片(顾头不顾尾)  以0 开头 ,或者结尾 ,可以忽略不写
print(name[1:3])  #取出前2个
print(name[-1])   #取出最后一个值
	
			
# for 循环 查看   ,遍历所有内容  . 列表是一个可迭代对象
for i in name:
    print(i)
    

   
####列表的嵌套 采⽤降维操作.⼀层⼀层的看就好. 
li=[1,2,['哈密瓜',['冰水'],],3,['电视','西瓜']]
#取出电视
print(li[4][0])
#取出冰水
print(li[2][1][0])

二丶元组

  1. 定义格式:

    俗称不可变的列表,又称只读列表

    是一个容器,由 ( )表示,元素与元素之间用逗号隔开.

    如:name=("张三","李四")

  2. 作用:

    存储任意类型的数据

  3. 特点:

    不可变 (只能查看) 默认从左到右 ,从0开始 .

    有序(索引,切片,步长)

  4. 操作:

    查 ,索引,切片,步长 👇

####元组
tu2=() # 空元组
print(type(tu2))

####区分  小括号中只有一个元素时,没有逗号,就是元素的本身类型
tu=('syt') # ---->str类型
tu1=(1)    # --->int 类型
tu2=(1,)   # 只有一个元素和逗号 ,也元组类型
print(type(tu),type(tu1),type(tu2))

#索引查看
tu=(1,2,3,4,'str')
print(tu[1])

#for 查询    元组是一个可迭代对象
tu=(1,2,3,4,'str')
for i in tu:
    print(i)
    
#切片,步长查看 
tu = (1, "太⽩白", "李李⽩白", "太⿊黑", "怎么⿊黑")
print(tu[2:5])  # 切⽚片之后还是元组

#元组的嵌套
tu=(1,(2,(3,(4,(5,6,7,8),9),10),11),12)
#取出5
print(tu[1][1][1][1][0])
###元组不能修改, 若是元组中的子元素是可变的数据类型就可以修改,若是元组类型还是不可修改
#修改的不是元组,而是元组中能够可修改的数据类型中的数据,如列表[]
tu=(1,2,3,['a',['e'],'b'])

tu[3][1][0]='d'
print(tu) # ---->(1, 2, 3, ['a', ['d'], 'b'])

切片操作方向理解

字符串

列表

规律:

posted @ 2019-06-11 10:09  染指未来  阅读(232)  评论(0编辑  收藏  举报