首页 > 编程语言 > 详细

python基础(基本数据类型三)

时间:2021-03-10 23:56:59      阅读:29      评论:0      收藏:0      [点我收藏+]

python基础(基本数据类型三)

集合

  • set:集合,是无序的,不重复的数据集合,主要作用是:去重,把一个列表变成集合就完成去重(集合里不可储存列表和字典)
  • 创建集合
通过{}创建
set1={1,2,3}

通过set()创建
set1=set({1,2,3,3})
add()方法:增加一条数据或者是元祖(无返回值)
set1={‘lisir‘,‘height‘,‘name‘,‘school‘}
set1.add(‘sex‘)
print(set1)#{‘school‘, ‘lisir‘, ‘name‘, ‘height‘, ‘sex‘}
#集合中可以添加元组,数字,字符串,但不可以添加列表和字典
set1={‘lisir‘,‘height‘}
set1.add((1,2,3))
print(set1)#{‘height‘, ‘lisir‘, (1, 2, 3)}

update()方法:迭代着增加
set1={‘lisir‘,‘height‘}
set1.update(‘abc‘)
print(set1)#{‘c‘, ‘lisir‘, ‘height‘, ‘b‘, ‘a‘
set1={‘lisir‘,‘height‘}
set1.update([1,2,3])
print(set1)#{1, 2, 3, ‘lisir‘, ‘height‘}
#每次输出的集合中元素的顺序不一样,说明集合是无序的

remove()方法:删除一个指定的元素
set1={‘tony‘,‘alex‘,‘tom‘}
set1.remove(‘alex‘)
print(set1)#{‘tom‘, ‘tony‘}

pop()方法:随机删除一个元素,有返回值,返回删除掉的数据
set1={‘tony‘,‘alex‘,‘tom‘}
ret=set1.pop()
print(set1,ret)#{‘alex‘, ‘tony‘} tom

clear()方法:  清空集合(无返回值)
set1={‘tony‘,‘alex‘,‘tom‘}
ret=set1.clear()
print(set1,ret)#set() None

del属性: 删除集合
set1={‘tony‘,‘alex‘,‘tom‘}
del set1
print(set1)#报错 NameError: name ‘set1‘ is not defined
#set是无序的,不能按索引去查
set1={‘tony‘,‘alex‘,‘tom‘}
for i in set1:
    print(i)
#输出:
tony
tom
alex

补充

  • enumerate:枚举(不是基本数据类型,可配合上述基本数据类型使用)
#通常我们需要输出一个字符串,列表,集合的索引及其对应的索引值时,一般这样做(以列表为例)
li=[1,2,‘name‘,[2,3,4]]
for i in range(len(li)):
    print(i,‘:‘,li[i])
#输出:
0 : 1
1 : 2
2 : name
3 : [2, 3, 4]

#其实我们也可以这样做
li=[1,2,‘name‘,[2,3,4]]
for i in enumerate(li):
    print(i)#输出的是元组
    #print(i[0],":",i[1])#这样输出的结果和用range(len(li))一样
#输出:
(0, 1)
(1, 2)
(2, ‘name‘)
(3, [2, 3, 4])

li=[1,2,‘name‘,[2,3,4]]
for index,value in enumerate(li):
    print(index,‘:‘,value)
#输出:
0 : 1
1 : 2
2 : name
3 : [2, 3, 4]

enumerate还可以传第二个参数,表示起始位置,默认为0
li=[1,2,‘name‘]
for index,value in enumerate(li,10):#从10开始
    print(index,‘:‘,value)
#输出:
10 : 1
11 : 2
12 : name

基本数据类型之间的转换

  • 字典
dic = {"name": "易烊千玺", "age": 7, "class": "First"}
print(str(dic),type(str(dic)))
#{‘name‘: ‘易烊千玺‘, ‘age‘: 7, ‘class‘: ‘First‘} <class ‘str‘>
print(tuple(dic))
#(‘name‘, ‘age‘, ‘class‘)
print(tuple(dic.values()))
#(‘易烊千玺‘, 7, ‘First‘)
#字典可以通过list转换成列表,返回的列表为字典的键,同tuple几乎一样
  • 元组
tup=(1,2,3)
print(str(tup))#(‘a‘, ‘b‘, ‘c‘)
print(list(tup))#[‘a‘, ‘b‘, ‘c‘]
#转字典(通过zip()转)
tup=(‘a‘,‘b‘,‘c‘)
tup1=(1,2,3)
dic=dict(zip(tup,tup1))
print(dic)#{‘a‘: 1, ‘b‘: 2, ‘c‘: 3}
  • 列表
#列表转字符串通过str转,转元组,通过tuple转
#转字典(和tuple几乎相同)
#通过zip(),li1和li2中数据长度必须等长
li1=[‘a‘,‘b‘]
li2=[1,2]
dic=dict(zip(li1,li2))
print(dic)#{‘a‘: 1, ‘b‘: 2}
#使用嵌套列表转换为字典(li1,li2中的数据只能有两个)
li1=[‘a‘,‘b‘]
li2=[1,2]
li=[li1,li2]
print(dict(li))#{‘a‘: ‘b‘, 1: 2}
  • 字符串
str1=‘abc‘
#转为list和tuple相同
print(list(str1))#[‘a‘, ‘b‘, ‘c‘]
#转为字典
#eval() 函数用来执行一个字符串表达式,并返回表达式的值
str1="{‘name‘:‘Tom‘, ‘age‘:18}"
print(type(eval(str1)),eval(str1))
#<class ‘dict‘> {‘name‘: ‘Tom‘, ‘age‘: 18}

python基础(基本数据类型三)

原文:https://www.cnblogs.com/peng-blogs/p/14514607.html

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