python_day7(补1)



数据类型

之前为列表类型

​ 插入一个元组的介绍 之后还有字典,三者区别为括号方式()[]{}



1.元组类型(tuple)

使用:先定义一个元组数据

vegetable_tuple = '(tomato','corn','cucumber','carrot','corn','pumpkin)'

  • 与列表类型格式很像,不过只能取不能改,需要特别注意
  • 一些使用函数:
    • 直接取值方式与列表取值一样,print(vegetable_tuple[-1]),可以改变数字.
    • in/not应用,print('apple' in vegetable_tuple),判断不在就在in前面加not,返回Ture/False.
    • 因为无法修改,append,del,pop等无法适用,要想修改只能重新定义tuple
    • 索引,count和index也可以应用
	print(vegetable_tuple.count('corn'))	#####count计数
	print(vegetable_tuple.index('corn'))	#####index索引第一个搜索目标位置序号

(一般使用列表类型即可)


2.字典类型(dict)

与前两种形成三大数据集类型

使用:先定义一个字典数据

    prize_dict = {'Excellent':['kevin','bob'],
                  'Average':['cola','laovet','peter'],
                  'poor':'xiaolei'}
  • 使用字典的话可以使得列表内的数据比较规整看起来整齐一点,而且便于索取(映射索取)

  • 据说最重要需要掌握的是

    print(prize_dict.keys())      #进行关键字打印
    print(prize_dict.values())     #变量全打印
    print(prize_dict.items())     #对应打印
    ==对于items==
    ###得到元组
    for i in prize_dict.items():
        print(i)
    ###得到解压缩的元组
    for v,w in prize_dict.items():
        print(v,w)
    
  • 获取,get,示例为,print(prize_dict.get('Average')),get内填入的是keys>>得到的是keys所含内容,这个与直接方框取值效果基本相同,但是get在遇到没有对应的取值时返回none,不会报错.

  print(prize_dict.get('QQe',1000))  ###这样打印时会将1000作为none输出,个人觉得可以作为既定反馈
  • 更新,一般是字典对字典,update,同样keys进行平替,没有新keys,直接全搬!!!不懂可以演练
prase_dict = {'Excellent':['mingming'],
              'good':'whame'}			##定义了新的一个字典
prize_dict.update(prase_dict)			##将原字典进行更新,更新内容来自新字典
print(prize_dict)						##打印原字典,注意!!!跟有些情况一样,直接打印上面会得到none

##输出
##>>{'Excellent': ['mingming'], 'Average': ['cola', 'laovet', 'peter'], 'Poor': 'xiaolei', 'good': 'whame'}
  • fromkeys,这个看起来不常用,可以看看,应该是新建字典所用
prase_dict = dict.fromkeys(prase_dict.keys(),111)
#prase_dict = dict.fromkeys([1,2,3],111)
print(prase_dict)
###分别输出
#>>{'Excellent': 111, 'good': 111}
##>>{1: 111, 2: 111, 3: 111}
  • 查缺添加,setdefault,有这个keys则原来的不变,没有的则添加
 ###
 prase_dict.setdefault('color','White')
 print(prase_dict)
 ##输出
 #{'Excellent': ['mingming'], 'good': 'whame', 'color': 'White'}

3.集合类型()

居然还有一个集合类型,我没想到

使用前先定义

  • 这个可以储存多个值,但是只能存不可变值,用{}表示

  • 空集合定义方法

 # empty_jihe = set()			###在这已经生成一个空集合了,但是直接打印empty_jihe得到的是set()
 # empty_jihe.add(2)			
 # print(empty_jihe)			##在这里打印empty_jihe得到集合>>{2}
  • 进行去重,变为最简的
 s1 = [1,2,1,2,2]
 print(set(s1))
 ##输出为
 #{1, 2}
  • 集合运算
strong = {'mingming','lili','fangfang','adult','sebrina'}
thin = {'kid','man','female','adult'}
##并(有下面两种方法)
print(strong | thin)
print(strong.union(thin))
##交(有下面两种方法)
print(strong & thin)
print(strong.intersection(thin))
##差(有下面两种方法)
print(strong - thin)
print(strong.difference(thin))
##对称差(有下面两种方法)两者都没有的补在一起
print(strong ^ thin)
print(strong.symmetric_difference(thin))
##父级(有下面两种方法)看有没有包含,,,,同理可得子集issubset
print(strong > thin)        ##也可以是 >=
print(strong.issuperset(thin))
##判断是否有交集
# print(strong.isdisjoint(thin))   ###交集空才是Ture
  • 函数运算
s = set()
s.add('a')          ##添加
print(s)

s = {1,2 , 3, 4 ,'a'}
s.remove('a')       ##移除
print(s)
s.discard('b')      ##移除,移除没有的不会报错,与remove不同
print(s)
  • 最后,这个是可变的,可以id不变值变化!!!!!!!!


来源于csdn的查找

1.[ ]列表:

列表是序列的一种,列表元素可以由任意类型的数据构成,不要求各元素具有相同的类型

list_sample = ['a',200,'b','c',100]

2.{ }字典:

字典是python中唯一内置的映射类型,即通过键名来查找键值,元素集合无序,键名是任何不可修改类型的数据,如数值、字符串和元组等,而键值可以使任何类型的数据

dic={'jon':'boy','lili':'girl'}    
 
print(dic['lili'])
 
##输出 'girl'

通过list()函数可以将字典转化成列表,但是列表不能转化为字典

同理,通过tuple()函数可以将字典转化成元组,但是元组不能转化为字典

3.()元组:

元组中的元素也可以由不同的数据类型组成,同列表一样是序列中的一种,可以利用序列操作对元组进行处理,但元组是不刻更改的,即元组创建之后不能修改、添加、删除成员

tuple_sample = ('a',200,'b',150,'c',100)
posted @ 2024-07-20 22:37  yybokeyuan  阅读(13)  评论(0)    收藏  举报