一、列表、元组

1、常用操作函数

 #Author:CGQ
import copy
#列表
'''
names=["ZhangYang","XiaoHei","XiaoHei","LiSan"]
print(names[0])#某一个
#切片
print(names[1:3])
print(names[0:-1:2])#2代表步长
print(names[-1])
print(names[-2:])
len(names)#字符串长度
print(names[names.index("ZhangYang")])#输出原文和位置信息
names.append("DaKaiZi")#追加最后
names.insert(1,"GuYun")#追加到某位置
names.extend("GuYun")#迭代添加
names[2] = "XieDi"#替换
names[:2] = "ni"
names[:2] = "ni43243"#迭代替换
names[:2] = [4,3,2,4,3]#迭代替换
#删除
names.remove("XieDi")#按元素删
del names[2]#按序号删
del names#删除names
names.pop(2)#按序号删
n1 = names.pop(2)#删除并返回删除值(默认删除最后一个)
names.clear()#清空
names.reverse()#反转
names.sort()#排序(字母顺序,符号》数字》大写》小写)
names.sort(reverse=True)#反向排序(字母顺序,符号》数字》大写》小写)
names2=[1,2,3,4]
names.extend(names2)#链接
del names2#删变量
'''
'''
names=["ZhangYang","XiaoHei",["CGQ","DaWang"],"XiaoHei","LiSan"]
#复制第一层
#names2=names.copy()
#names2=names[:]
#names2=list(names)
#names2=names#指针指向name2,没有新建(针对列表,字符、字符串是新建【真正的复制】)
names2=copy.deepcopy(names)#完全复制
names[2][0]="cgq"
#print(names,names2)
for i in names:
print(i)
'''
#元组
# name=("LiSi","WangWu")#不能修改
# print(name.index("LiSi")) NAME = (1,2,[1,'SDFAS'],'jgjhgj')#其中列表可以修改
# NAME[2][1] = NAME[2][1].lower()
# print(NAME) # s = 'safsadf'
# s1 = '_'.join(s)#用'_'相连接,返回字符串
# print(s1)
#range [......1,2,3........]
# for i in range(-20,20,2):
# print(i) #列表和元组、字典都可以解包
a,b=(1,2)
print(a,b)
a,b=['1','2']
print(a,b)

2、循环

 #Author:CGQ
#删除奇数位元素
lis = [11, 22, 33, 44, 55, 6, 7, 8, 9]
#方法一
# count = 0
# for i in lis:
# if count%2 == 1:
# print(lis.index(i))
# del lis[lis.index(i)]
# count-=1
# count+=1
#方法二
lis1 = []
for i in range(len(lis)):#len[lis]#整个循环中其值不变,为9
if i%2 == 1:
lis1.append(lis[i])
i = len(lis1)
cont = 0
while i-cont:
lis.remove(lis1[cont])
cont+=1
print(lis)

列表在循环时如果进行删除/增加操作,循环中列表元素也会减少/增加

二、字典

1、常用操作函数

 #Author:CGQ
#key-value
#版本3.6以后dica字典是有序的
info={
'':"Ren Gong",
'':"Luan Gong",
'':"Xiao Gong",
}
info_a={
'':"Ren",
'':"Luan",
'':"Gong",
}
#b=dict.fromkeys([6,7,8],"test")#创建一个新的字典,但其中的3个test其实是一个(同一地址)
#info.update(info_a)#更新info,没有的添加,有的修改
#print(info.items())#把字典转换成列表
#循环
for i in info.values():#打印value
print(i)
for i in info:#高效(与for i in inf.keys()一样)
print(i,info[i])
for k,v in info.items():#转换成列表后循环
print(k,v)
'''
print(info)
#print(info['123456'])#提取索引为123456的数据
#修改或添加
info['123456']="人工"#增加(字典中无该key)
info.setdefault('12345610','afasd')#增加(如果有该key,不做任何操作)
info['123459']="大河"#修改(字典中有该key)
#del info['123456']#删除该条数据
#info.pop("123456")#删除该条数据,有返回值
print(info.pop('1234561321','没有此数据'))#如没有该key,则返回'没有此数据'
#info.popitem()#随机删一条数据,返回删除数据(元组)
#info.clear()#清空字典
print(info.get('12345'))#安全的查找方法,查不到输出None
print(info.get('12345','没有'))#安全的查找方法,查不到输出 没有
print(info)
print('12345' in info)#找到输出true,找不到输出false
#info.has_key("1103")2.x版本的写法^上
'''
''''''
#del info#删除变量
av_catalog = {
"欧美":{
"www.youporn.com": ["很多免费的,世界最大的","质量一般"],
"www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
"letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
"x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
},
"日韩":{
"tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
},
"大陆":{
"":["全部免费,真好,好人一生平安","服务器在国外,慢"]
}
}
av_catalog["大陆"][""][1]="可以在国内做镜像"
print(av_catalog.values())#打印除values所有的值
print(av_catalog.keys())#打印所有的keys值
print(av_catalog.items())#打印所有的keys,values值
av_catalog.setdefault("台湾",{"www":["watifak",2]})
print(av_catalog) # = 赋值 == 比较值是否相等 is 比较,比较的是内存地址 id(内存地址的内容)
li1 = [1,2,3]
li2 = li1
li3 = li2
print(id(li1),id(li2))#指向同一个内存地址 #数字,字符串 小数据池
#数字的范围 -5 -- 256
#字符串:1,不能有特殊字符
# 2,s(一个字符)*20 还是同一个地址,s*21以后都是两个地址
# i1 = 6
# i2 = 6
# print(id(i1),id(i2))#指向同一个内存地址
# i1 = 300
# i2 = 300
# print(id(i1),id(i2))#指向同一个内存地址 #剩下的 list dict tuple set
# l1 = [1,]
# l2 = [1,]
# print(l1 is l2)#指向非同一个内存地址 # s = 'alex'
# s1 = b'alex'
# print(s,type(s))
# print(s1,type(s1)) # s = '中国'
# print(s,type(s))
# s1 = b'中国'
# print(s1,type(s1)) s1 = 'alex'
# encode 编码,如何将str --> bytes, ()
s11 = s1.encode('utf-8')
s11 = s1.encode('gbk')
print(s11)
s2 = '中国'
s22 = s2.encode('utf-8')
s22 = s2.encode('gbk')
print(s22)

2、循环

 删除带k的元素
dic = {'k1':'v1','k2':'v2','a3':'v3'}
#方法一
# dic1 = {}
# for i in dic:
# if 'k' not in i:
# dic1.setdefault(i,dic[i])
# dic = dic1
# print(dic)
方法二
l = []
for i in dic:
if 'k' in i:
l.append(i)
for i in l:
del dic[i]
print(dic)

字典在循环时不可进行删除操作,用上述方法进行删除

三、集合

#Author:CGQ
'''
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
{}
'''
# set1 = set({1,2,3})
# set1 = {'alex','wusir','ritian','egon','barry',}
# set2 = {1,2,3,[2,3],{'name':'alex'}} # 错的
lieXi_1=[3,2,2,9]
lieXi_2=set([0,36,3,99])
lieXi_1=set(lieXi_1)
print(lieXi_1,type(lieXi_1))
#交集
print(lieXi_1 & lieXi_2)
print(lieXi_1.intersection(lieXi_2))
#并集
print(lieXi_1 | lieXi_2)
print(lieXi_1.union(lieXi_2))
#lieXi_1-lieXi_2(差)
print(lieXi_1 - lieXi_2)
print(lieXi_1.difference(lieXi_2))
#子集(是否包含)
print(lieXi_1.issubset(lieXi_2))
#是否被包含
print(lieXi_1.issuperset(lieXi_2))
#对称差集(并集-交集)
print(lieXi_1 ^ lieXi_2)
print(lieXi_1.symmetric_difference(lieXi_2)) lieXi_1.add(98)#添加
lieXi_1.update([111,416])#添加多个
lieXi_1.remove(98)#删除
print(len(lieXi_1))#长度
print(98 in lieXi_1)#测试98是否是lieXi_1的成员
#print(lieXi_1.pop())#随机删除并返回删除值
print(lieXi_1.discard('KJ'))#删除指定值,没有返回None(不报错),成功无提示 #{} set()
# set1.clear()
# print(set1) # set() # del set1#直接删除变量
# print(set1)#已删除此集合 #查
# for i in set1:
#将集合(set)类型转换为frozenset类型;由不可变类型转化为可变类型
s1 = {1, 2, 3}
print(s1,type(s1))
s = frozenset(s1)
print(s,type(s))

python列表、元组、字典、集合的简单操作的更多相关文章

  1. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

  2. Python列表,元组,字典,集合详细操作

    菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...

  3. python 列表 元组 字典 集合

    列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...

  4. Python 列表&元组&字典&集合

    列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...

  5. **python中列表 元组 字典 集合

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. 1.列表 列表是以方括号“[]”包围的数据集合,不同成员以“,”分隔. 列表的特 ...

  6. python中列表 元组 字典 集合的区别

    列表 元组 字典 集合的区别是python面试中最常见的一个问题.这个问题虽然很基础,但确实能反映出面试者的基础水平. (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计 ...

  7. python_列表——元组——字典——集合

    列表——元组——字典——集合: 列表: # 一:基本使用# 1.用途:存放多个值 # 定义方式:[]内以逗号为分隔多个元素,列表内元素无类型限制# l=['a','b','c'] #l=list([' ...

  8. python的学习笔记01_4基础数据类型列表 元组 字典 集合 其他其他(for,enumerate,range)

    列表 定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性: 1.可存放多个值 2.可修改指定索引位置对应的值,可变 3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问 ...

  9. Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作

    一.字符串 特性:字符串本身不可修改,除非字符串变量重新赋值.Python3中所有字符串都是Unicode字符串,支持中文. >>> name  = "Jonathan&q ...

  10. python 中列表 元组 字典 集合的区别

    先看图片解释 (1)列表 什么是列表呢?我觉得列表就是我们日常生活中经常见到的清单.比如,统计过去一周我们买过的东西,把这些东西列出来,就是清单.由于我们买一种东西可能不止一次,所以清单中是允许有重复 ...

随机推荐

  1. useradd -M -s /sbin/nologin mysql -g mysql 报错 Creating mailbox file

    由于之前使用以下命令删除了mysql账户 userdel mysql groupdel mysql      #如果删除了mysql用户,对应的组也会被删除(只有一个用户的情况下) 执行以下命令时报错 ...

  2. git与github建立链接(学习笔记)

    总结步骤: 1.将所有文件添加到本库 git add . 2. git commit -m "提示信息随便写" 3.查看git修改状态 git status 4.获取远程库与本地同 ...

  3. 数组的方法之(Array.prototype.reduce() 方法)

    reduce函数 reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,将其减少为单个值. 对数组中的所有元素调用指定的回调函数.该回调函数的返回值为累积结果,并且此返回值在下一次 ...

  4. git学习记录——远程仓库(说白了就是代码放到githup上)

    远程仓库 现在讲述的这些SVN都已经做到了,并没什么稀奇的地方 所以这节课赘述的是杀手级的东西——远程仓库githup ssh-keygen -t rsa  -C "xxxxxxxxxxx@ ...

  5. Javaweb Form表单查询

    1.表单(form),是一种可以由用户输入,并提交给服务器端的一个图形界面,有如下性质: (1)表单中可以输入一些内容,这些输入功能由控件提供,叫做表单元素 (2)表单中一般都有一个按钮负责提交 (3 ...

  6. 轮播图js版&jQ版

    JS版轮播图 html部分和css部分自己任意定 主要构成: 1,一个固定的框 超出框的部分隐藏 2,几张图片float:left 3,下部下原点,点击切换,切换到不同的张都有红色显示 4,左右两个大 ...

  7. python-None

    今天偶然间,有人问了一个问题,项目中出现了一个这样的错误. 看到后,就想到是前后数据类型不一致.当时他定义了一些默认初始值为None(刚接触python代码,之前是c,java),然后就后边出现了这样 ...

  8. TypeScript高级类型

    交叉类型 将多个类型合并成一个类型,去两个类型的并集.与继承的区别是,继承可以有自己的属性,而交叉没有. interface DogInterface { run():void } interface ...

  9. SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集

    ALTER PROCEDURE [dbo].[usp_visit_detail](@siteid BIGINT, @Startime VARCHAR(15), @Endtime  VARCHAR(15 ...

  10. 使用 javascript 替换 jQuery

    使用 javascript 替换 jQuery jQuery 曾风靡一个时代,大大降低了前端开发的门槛,丰富的插件也是前端开发者得心应手的武器库,但是,这个时代终于要落幕了.随着 JS 标准和浏览器的 ...