python 基础(二)

一、List 列表

概述: 列表是python 使用最频繁的一种数据类型

格式:

  列表是由 [ ] 里面可以存储不同类型的值 称之为列表

取值方式: 和字符串一样

  列表[头下标:尾下标:步长]

实例:

myList = ['a','b',1,2]
print(myList) #原样输出
print(type(myList)) #<class 'list'>
#取值
print(myList[2])
print(myList[-2])
#头下标 和尾下标一起使用
print(myList[0:2])  #ab
#不给头下标和尾下标
print(myList[:])
#只给头下标  不给尾下标
print(myList[0:]) #['a', 'b', 1, 2]
#只给尾下标 不给 头下标
print(myList[:3])    #['a', 'b', 1]
#步长
print(myList[::2])
#列表 倒着输出
print(myList[::-1])
 

(1) 列表的修改和删除

  列表中的索引所应的值 可以被修改和删除 字符串索引对应的值 不可以修改和删除 但是取值方式都一样

实例:

#试一下字符串的
myStr = 'abc'
del myStr[0] #字符串索引所对应的值 不允许修改 和 删除
myList = ['张三',18,'写代码']
# myList = [18,'写代码']
# myList = [18]
print(myList[0])
myList[0] = '李四' #可以修改索引所对应的值
del myList[0]  #列表中索引所对应的值可以删除
#删除张三和18  错误的写法
del myList[0],myList[1]  #因为在删除 索引对应的值0的以后 整个列表的值的索引 会向前发生移位
#相当于 
del myList[0]
del myList[1]
#正确的写法
del myList[0]
del myList[0]
del myList[0],myList[0]
myList[0:2] = '李四' #李四为俩值
myList[0:3] = '李四' #李四为俩值  第三个值 被去除掉
myList[0:2] = '李四五' #['李', '四', '五', '写代码']
myList[0:2] = [] #删除 索引0:2 的值
myList[0:2] = ['a'] #删除 索引0:2 的值
print(myList)
 

 

(2) 列表的+和*的使用

* 作为 重复

+ 作为链接

实例:

myList = ['a','b','c']
myList1 = ['a']
print(myList*2) #重复当前列表n遍
print(myList1+myList) #字符串的链接 
 

(3) 多维列表

定义方式:

myList1 = ['a','b','c']
myList2 = ['d','e','f']
myList3 = [myList1,myList2]
myList4 = [['a','b','c'],['d','e','f']]
 

取值方式:

print(myList3[1][2]) #f
print(myList3[1]) #取出索引1对应的列表
print(myList3[0][1:])#bc
 

 

(4) 列表中常用的函数

函数名函数说明
len()计算长度
myList.count(x)统计列表中某个值 重复的次数
myList.append(x)向列表中追加值(一个值)
myList.extend(t)像列表中追加多个值
myList.index()找出列表中第一个匹配值的 索引
myList.insert(i,x)在某个位置 插入值
myList.pop()弹出最后 一个值 并返回
myList.remove(x)移除列表中的第一个值的匹配项
myList.reverse()列表反转
myList.sort()列表排序
myList.clear()清空列表
myList.copy()列表的拷贝 浅拷贝
copy.copy(x)同上 浅拷贝
copy.deepcopy(x)深拷贝 拷贝多层
拷贝的例子
浅拷贝例子
newList = myList.copy()
myList[0] = '张三'
print(newList)
print(myList)
import copy
newList3 = [['张三','格言','男:昆? 哦'],['李四','格言','答:帘 否']]
# newList4 = newList3.copy()
# newList4 = copy.copy(newList3) #等同于上面的拷贝
newList4 = copy.deepcopy(newList3) #深拷贝   复制多层
newList3[0][2] = '人生就像打麻将 不是点炮就是自摸'
print(newList4)
print(newList3)
 

 

二、Tuple 元组

概述:元组的定义和列表几乎相同

定义: 使用小括号 ()来定义,里面可以存储不同类型的值

Tup = (1,)

相同点:

元组的取值 和 列表,字符串 相同

使用方面和 字符串一样

不同点:
  1. 值不能修改

  2. 值不能删除

  3. 在定义元组中值的时候 如果元组中只有一个只 则当前的类型为 值的类型的本身 需要添加逗号,此刻才为元组类型

实例

多维元组

myTup1 = ('a','b','c')
myTup2 = ('d','e','f')
myTup3 = (myTup1,myTup2)
print(myTup3)
print(myTup3[0][0]) #a
 

 

三、Set 集合

集合 是一个无序 不重复的元素的序列

基本功能: 进行成员关系 测试 和 去除重复的元素

格式:

使用{}或者 set()来创建 集合

集合的实例:

差集
print(Set1 - Set2) #求set1 和 set2的差集 注意比较顺序
print(Set2 - Set1) #求set2 和 set1的差集 注意比较顺序
并集
print(Set1 | Set2) #不需要注意比较顺序   最终的结果为 去除重复的值 并将俩个结合 合并
print(Set2 | Set1)
交集
print(Set1 & Set2) #a
俩个集合中 不同时存在的元素  去除交集后的元素
print(Set1 ^ Set2)
 

去除重复元素的例子

Tuple = (100,30,20,30,40,100) #去除重复的值 最终变成列表
print(max(list(set(Tuple)))) #去除重复后 获取最大的值
print(min(list(set(Tuple)))) #去除重复后 获取最小的值
 

注意:

  1. 创建一个空集合 使用数据类型转换函数 set() 而不是使用{} 因为创建空字典 使用{}

四、Dictionary 字典

语法格式:

{} 创建一个空字典

{key:value...} #以键值对组成

(1) 创建字典
 
Dict = {'name':'凤姐','age':18,'爱好':"写代码加班工作"}
 
(2) 字典得取值
print(Dict['name'])  #取出key为 name得值
print(Dict['xx'])  #KeyError  不存在得key
 
(3) 字典值得修改
Dict['name'] = '范冰冰'  #如果出现了 同名的key  叫做值的修改
 
(4) 字典值得添加
 
Dict['message'] = '以后在 看到有日本的电影的时候 将自觉调节音量的习惯 得改改了' #如果给一个不存在得 key赋值  叫做添加值  默认添加倒最后
 
(5) 字典得值得删除
del Dict['name'],Dict['age']  #删除值
 

 

(6) 字典常用函数

myDict.函数名()

函数名函数说明
items()返回可迭代得序列
keys()获取所有得key
values()获取所有得值
dict2.update(dict1)将字典dict1更新倒dict2里面
pop(key)通过给定key 移除对应得值并返回
popitem()移除最后一对键值对 并返回
copy()浅拷贝
deepcopy()深拷贝
clear()清空字典
get(key【,default】)获取字典中得值 如果key不存在且没有给定default值 则返回None

字典得深拷贝

 
import copy
Dict = {'a':{'b':'b','c':'c'}}
Dict2 = copy.copy(Dict)
Dict2 = copy.deepcopy(Dict)
Dict['a']['c'] = 'd'
print(Dict)
print(Dict2)
 

注意:

  1. 再定义字典得时候 不应该存在重复得key 因为会将前面得覆盖 并且 key是取值得唯一条件

  2. 如果获取一个不存在得key得时候 会报错 KeyError

  3. 字典是一个映射类型 ,他的元素是键值对

  4. 字典得key 为不可变类型 且不能重复

  5. 字典和字符串...得区别 字典得元素 是通过key存取 而不是通过偏移量来存取得

 

五、python类型转换函数

函数名函数说明
int(x)将x转换为整形
float(x)转换为 浮点型
str(x)将x转换为字符串
eval(x) ['i:vl]用来计算字符串中得有效表达式
tuple(s)将序列s转换为元组
list(s)将序列s转换为列表
bool()将值转换为bool类型
set(s)将序列转换为集合
dict()将序列转换为字典 注意:序列里面得值必须为成对

 

转载于:https://www.cnblogs.com/gugubeng/p/9715048.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值