码迷,mamicode.com
首页 > 编程语言 > 详细

Python日记——基础数据类型(二)

时间:2016-05-28 11:30:22      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

【set】

set集合,是一个无序且不重复的元素集合

技术分享
 1 #创建空集合
 2 # #s = set()
 3 
 4 # #创建集合
 5 # s = {11,22,33,44}
 6 # print(s)
 7 
 8 # #add 添加元素
 9 # s.add(‘ab‘)
10 # print(s)
11 #
12 # #clear 清除元素
13 # s.clear()
14 # print(s)
15 
16 a1 = {11,22,33}
17 b1 = {22,55,"随便"}
18 #difference  去找 a1中存在的,b2中不存在的集合,并将其赋值给新的变量名
19 # new_a1 = a1.difference(b1)
20 # print(new_a1)
21 
22 #difference  去找b1中存在的,a1中不存在的集合,并将其赋值给新的变量名
23 # new_b1 = b1.difference(a1)
24 # print(new_b1)
25 
26 #找a1中的存在的,b2中不存在的,并更新自己(a1)
27 # a1.difference_update(b1)
28 # print(a1)
29 
30 #移除指定元素,不存在不报错
31 #a1.discard(22)
32 
33 #移除指定元素,不存在会报错
34 #a1.remove()
35 
36 #取交集值
37 new_a1 = a1.intersection(b1)
38 print(new_a1)
39 #取交集值,并更新自己
40 a1.intersection_update(b1)
41 print(a1)
42 
43 #判断集合是否有交集,有交集是False,没有交集是True
44 new_a1 = a1.isdisjoint(b1)
45 
46 #判断A是不是B的子序列
47 new_a1 = a1.issubset(b1)
48 
49 #判断A是不是B的父序列
50 new_a1 = a1.issuperset(b1)
51 
52 #移除一个元素并赋值给新的变量名
53 new_a1 = a1.pop()
54 print(new_a1)
55 
56 #把A存在的B不存在的和把B存在的A不存在的元素合并到一个集合
57 new_a1 = a1.symmetric_difference(b1)
58 print(new_a1)
59 
60 #把A存在的B不存在的和把B存在的A不存在的元素合并到一个集合,并且更新自己
61 a1.symmetric_difference_update(b1)
62 print(a1)
63 
64 #合并集合,并且把重复元素合并
65 new_a1 = a1.union(b1)
66 print(new_a1)
67 
68 #往A里上传元素、列表
69 a1.update([何思远])
70 print(a1)
71 
72 x.isalnum() #判断是否是数字或者是字母
73 
74 x.isalpha() #判断字符串第一个是否是字母
75 
76 x.isdigit() #判断字符是否是数字组成
77 
78 x.islower() #判断字符中是否是小写字母(字符串中可以包含数字,返回为true)
79 
80 x.isupper() #判断字符中是否是大写字母(字符串中可以包含数字,返回为true)
81 
82 x.isspace() #判断字符是否为空格,其中换行符(\n)、回车符(\r)、换页符(\f)均返回true
83 
84 x.istitle() #判断第一个字母是否为大写字母
常用功能

【深浅拷贝】

一、数字和字符串

对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个地址

 1 import copy
 2 # ######### 数字、字符串 #########
 3 n1 = 123
 4 # n1 = "i am alex age 10"
 5 print(id(n1))
 6 
 7 # ## 赋值 ##
 8 n2 = n1
 9 print(id(n2))
10 
11 # ## 浅拷贝 ##
12 n2 = copy.copy(n1)
13 print(id(n2))
14 
15 
16 # ## 深拷贝 ##
17 n3 = copy.deepcopy(n1)
18 print(id(n3))

二、其他基本数据类型

对于字典、元组、列表而言,进行赋值、浅拷贝、深拷贝时,其内存的变化是不同的。

1、赋值

赋值,只是创建一个变量,该变量指向原来内存地址

1 n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
2 
3 n2 = n1

技术分享

2、浅拷贝

浅拷贝,在内存中只额外创建第一层数据

1 import copy
2 
3 n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
4 
5 n3 = copy.copy(n1)

技术分享

3、深拷贝

深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)

1 import copy
2 
3 
4 n1 = {"k1": "wu", "k2": 123, "k3": ["alex", 456]}
5 
6 
7 n4 = copy.deepcopy(n1)

技术分享

【三元运算】(三目运算)

三元运算,是对于简单的条件语句的缩写。

 

1 #格式
2 #name = 值1 if 条件 else 值2
3 
4 如果 if条件成立,值1赋值给name
5 如果 if条件不成立,值2赋值给name

 

 

 

Python日记——基础数据类型(二)

标签:

原文地址:http://www.cnblogs.com/Aslan-y/p/5536878.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!