复习笔记之数据类型和文件操作

数据类型一般包括:列表,元组,集合,字典,字符串

列表:

增加操作:

1、追加
	names.append()
2、插入及列表嵌套
	names.insert(索引位置对应的值,插入对象(可以使列表))
3、合并
	names.extend()

删除操作

1. 直接删除
del:   del names[索引值]
2. 删除指定元素并返回删除值
names.pop(索引值)
3.清空
names.clear()

修改操作

names[索引值] = "修改内容"

查操作

>>>names.index("A")         
#返回从左开始匹配到的第一个A的索引
>>>names.count("A")        
#返回A的个数

切片

>>>names[start:end]
*切片的特性是顾头不顾尾,即start的元素会被包含,end-1是实际取出来的值
>>>names[-5:-1]        #倒着切
>>>names[start:end:step]#step为步长
>>>a[::-1] #通过把步长设置成负值,可达到列表返转的效果
>>>a.sort()#排序

元组

元组的创建

a= tuple()

其余操作方式参考list

元组本身不可变,如果元组中还包含其他可变元素(例如列表),这些可变元素可以改变

字符串

字符串是一个有序的字符的集合,用于存储和表示基本的文本信息,’ ‘或’’ ‘’或’’’ ‘’’中间包含的内容称之为字符串
字符串的常用操作方式有很多,百度搜索

  • 特性:按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
  • 可以进行切片操作
  • 不可变,字符串是不可变的,不能像列表一样修改其中某个元素,所有对字符串的修改操作其实都是相当于生成了一份新数据
  • 字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r’l\thf’

字典

特性:key-value结构; key必须为不可变数据类型、必须唯一; 可存放任意多个value、可修改、可以不唯一; 无序

查询速度快
创建:

>>>person = {"name": "alex", 'age': 20} 
#或
>>>person = dict(name='seven', age=20)
#或
>>>person = dict({"name": "egon", 'age': 20})
#或
>>> {}.fromkeys([1,2,3,4,5,6,7,8],100)
{1: 100, 2: 100, 3: 100, 4: 100, 5: 100, 6: 100, 7: 100, 8: 100}

增加操作:

names["a"] = [26, "d", dfdf]
names.setdefault("oldboy",[50,"boss",100000])  # D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D

删除:

names.pop("alex") # 删除指定key
names.popitem()   # 随便删除1个key
del names["oldboy"] # 删除指定key,同pop方法
names.clear()     # 清空dict

修改:

dic['key'] = 'new_value',如果key在字典中存在,'new_value'将会替代原来的value值;
dic.update(dic2) 将字典dic2的键值对添加到字典dic中

查:

dic['key'] #返回字典中key对应的值,若key不存在字典中,则报错;
dic.get(key, default = None)#返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
'key' in dic #若存在则返回True,没有则返回False
dic.keys() 返回一个包含字典所有KEY的列表;
dic.values() 返回一个包含字典所有value的列表;
dic.items() 返回一个包含所有(键,值)元组的列表;

集合

特性:

  1. 里面的元素不可变,代表你不能存一个list、dict 在集合里,字符串、数字、元组等不可变类型可以存
  2. 天生去重,在集合里没办法存重复的元素(使用set()转化为集合进行去重)
  3. 无序,不像列表一样通过索引来标记在列表中的位置 ,元素是无序的,集合中的元素没有先后之分,如集合{3,4,5}和{3,5,4}算作同一个集合

增加

a.add(元素)

删除

a.discard(元素)
a.pop() #删除并返回
a.remove(索引)

集合无法修改,可以通过移除和添加的方式进行

print(a.isdisjoint(b))     # 判断2个集合是不是不相交,返回True or False
print(a.issubset(b))       # 判断a是不是b的子集,返回True or False
print(a.issuperset(b))     # 判断a是不是b的父集,返回True or False
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值