python-day2

基本数据类型详解

# ########################################## str 字符串 ##########################################

# 1. capitalize 字符串首字母大写
# 自身不变,会生成一个新的值

# name = 'alex'
# v = name.capitalize()
# print(v)
# print (name)
显示结果
Alex
alex
View Code

2. 将所有大小变小写,lower,casefold牛逼,德语...

name = 'ALEX'
v = name.casefold()
print (v)
print(name)
name1 = 'ALEX'
v1 = name.lower()
print (v1)
print (name)
显示结果
alex
ALEX
alex
ALEX
View Code

3 . 文本居中

# 参数1: 表示总长度

# 参数2:空白处填充的字符(长度为1)

name = 'alex'
v = name.center(20)
print(v)
v = name.center(20,'')
print(v)
显示结果
        alex        
行行行行行行行行alex行行行行行行行行
View Code

4. 表示传入之在字符串中出现的次数

# 参数1: 要查找的值(子序列)
# 参数2: 起始位置(索引)
# 参数3: 结束位置(索引)

name = "alexasdfdsafsdfasdfaaaaaaaa"
v = name.count('a')
print(v)
v = name.count('df')
print(v)
v = name.count('df',12)
print(v)
v = name.count('df',0,15)
print(v)
显示结果
12
3
2
2
View Code

5. 是否以xx结尾

name = 'alex'
v1 = name.endswith('ex')
print(v1)
显示结果
True
View Code

6. 是否以xx开头

name = 'alex'
v2 = name.startswith('al')
print(v2)
显示结果
True
View Code

 7.encode欠

8. 找到制表符 ,进行替换(包含前面的值)

# PS:

name = "al	e	x
alex	uu	kkk"
v = name.expandtabs(20)
print(v)
View Code

9.找到指定子序列的索引位置:不存在返回-1

name = 'alex'
v = name.find('o')
print(v)
v = name.index('o')
print(v)
View Code

10.字符串格式化

tpl = "我是:%s;年龄:%s;性别:%s"

tpl = "我是:{0};年龄:{1};性别:{2}"
v = tpl.format("李杰",19,'都行')
print(v)

tpl = "我是:{name};年龄:{age};性别:{gender}"
v = tpl.format(name='李杰',age=19,gender='随意')
print(v)

tpl = "我是:{name};年龄:{age};性别:{gender}"
v = tpl.format_map({'name':"李杰",'age':19,'gender':''})
print(v)
View Code

11. 是否是数字、汉子.

name  = 'alex8汉子'
v = name.isalnum() # 字,数字
print(v) # True
v2 = name.isalpha()#
print(v2)# False
View Code

12. 判断是否是数字

num = ''
v1 = num.isdecimal() # '123'
v2 = num.isdigit()   # '123'''
v3 = num.isnumeric() # '123'''''
print(v1,v2,v3)
View Code

13. 是否是表示符

n = 'name'
v = n.isidentifier()
print(v)
View Code

14.是否全部是小写

name = "ALEX"
v = name.islower()
print(v)
v = name.isupper()
print(v)
View Code

15,.全部变大写,

name = 'alex'
v = name.upper()  # lower()
print(v)
View Code

16.是否包含隐含的xx

name = "钓鱼要钓刀鱼,
刀鱼要到岛上钓"
v = name.isprintable()
print(v)
View Code

17.是否全部是空格

name = '    '
v = name.isspace()
print(v)
View Code

18.元素拼接(元素字符串) *****

name = 'alex'

v = "_".join(name) # 内部循环每个元素
print(v)

name_list = ['海峰','杠娘','李杰','李泉']
v = "".join(name_list)
print(v)
View Code

19. 左右填充

center,rjust,ljust
name = 'alex'
v = name.rjust(20,'*')
print(v)
View Code

20. 对应关系 + 翻译

21. 对应关系 + 翻译
m = str.maketrans('aeiou','12345') # 对应关系

name = "akpsojfasdufasdlkfj8ausdfakjsdfl;kjer09asdf"
v = name.translate(m)
print(v)
View Code

21. 分割,保留分割的元素

content = "李泉SB刘康SB刘一"
v = content.partition('SB') # partition
print(v)
View Code

 22. 替换

content = "李泉SB刘康SB刘浩SB刘一"
v = content.replace('SB','Love')
print(v)
v = content.replace('SB','Love',1)
print(v)
View Code

23,移除空白, , ,自定义

name = 'alex	'
v = name.strip() # 空白,
,	
print(v)
View Code

24. 大小写转换

name = "Alex"
v = name.swapcase()
print(v)
View Code

25. 填充0

name = "alex"
v = name.zfill(20)
print(v)

v1 = 'alex'
v2 = 'eric'

v = v1 + v2 # 执行v1的__add__功能
print(v)
View Code

###### 字符串功能总结:
# name = 'alex'
# name.upper()
# name.lower()
# name.split()
# name.find()
# name.strip()
# name.startswith()
# name.format()
# name.replace()
# "alex".join(["aa",'bb'])


###### 额外功能:
# name = "alex"
# name[0]
# name[0:3]
# name[0:3:2]
# len(name)
# for循环,每个元素是字符

# ########################################## int 整数 ##########################################

1. 当前整数的二进制表示,最少位数

age = 4 # 100
print(age.bit_length())
View Code

2. 获取当前数据的字节表示

age = 15
v = age.to_bytes(10,byteorder='big')
v = age.to_bytes(10,byteorder='little')
print(v)
00000000 00001111 -> 15
View Code

# ########################################## bool 布尔值 ##########################################
# v = 0 # 1,-1
# v = ""
# v = []
# --> 空内容:False

# ########################################## list 列表 ##########################################

# ## int=xx; str='xxx' list='xx'
# user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
# PS:
# name = 'alex'
# 执行功能;
# 1.追加

user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
user_list.append('刘铭')
print(user_list)
View Code

2. 清空

user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
user_list.clear()
print(user_list)
View Code

3. 拷贝(浅拷贝)

user_list = ['李泉','刘一','刘康','豆豆','小龙'] # 可变类型
v = user_list.copy()
print(v)
print(user_list)
View Code

4. 计数

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
v = user_list.count('李泉')
print(v)
View Code

5. 扩展原列表

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
user_list.extend(['郭少龙','郭少霞'])
print(user_list)
View Code

6. 查找元素索引,没有报错

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
v = user_list.index('李海')
print(v)
View Code

7. 删除并且获取元素 - 索引

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
v = user_list.pop(1)
print(v)
print(user_list)
View Code

 8. 删除 - 值

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
user_list.remove('刘一')
print(user_list)
View Code

9. 翻转

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙'] # 可变类型
user_list.reverse()
print(user_list)
View Code

10. 排序: 欠参数

nums = [11,22,3,3,9,88]
print(nums)
排序,从小到大
nums.sort()
print(nums)
从大到小
nums.sort(reverse=True)
print(nums)
View Code

######  额外:

user_list = ['李泉','刘一','李泉','刘康','豆豆','小龙']
user_list[0]
user_list[1:5:2]
del user_list[3]
for i in user_list:
    print(i)
user_list[1] = '姜日天'
user_list = ['李泉','刘一','李泉','刘康','豆豆',['日天','日地','泰迪'],'小龙']


li = ['eric','alex','tony']

v = len(li)
print(v)

li.append('seven')
print(li)

li.insert(0,'Tony')
print(li)

li[1] = 'Kelly'

li.remove('eric')
print(list)

v = li.pop(1)
print(v)
print(li)

del li[2]


del li[0:2] # 0 =<x < 2
print(li)

li.reverse()
print(li)

for i in li:
    print(i)
View Code

 # ######################################### 强插:range,enumrate #########################################

1. 请输出1-10
# 2.7: 立即生成所有数字

range(1,11) # 生成 1,23,,4,56.10

3.x: 不会立即生成,只有循环迭代时,才一个一个生成

for i in range(1,11): #
    print(i)

for i in range(1,11,2): #
    print(i)

for i in range(10,0,-1): #
    print(i)
View Code

1. 3.x 不会立生成,迭代之后才一个一个创建;
"""
- 2.7:
range()
xrange() 不会立生成,迭代之后才一个一个创建;
- 3.x
range() 不会立生成,迭代之后才一个一个创建;
"""
# 2. range: 三个参数
#

li = ['eric','alex','tony']
# range,len,li循环
for i in range(0,len(li)):
    ele = li[i]
    print(ele)


li = ['eric','alex','tony']
for i in li:
    print(i)

for i in range(0,len(li)):
    print(i+1,li[i])


enumerate额外生成一列有序的数字
li = ['eric','alex','tony']
for i,ele in enumerate(li,1):
    print(i,ele)

v = input('请输入商品序号:')
v = int(v)
item = li[v-1]
print(item)
View Code

# ######################################### tuple:元组,不可被修改的列表;不可变类型 #########################################

# 1. 获取个数

user_tuple = ('alex','eric','seven','alex')
v = user_tuple.count('alex')
print(v)
View Code

# 2.获取值的第一个索引位置

v = user_tuple.index('alex')
print(v)
View Code

####### 额外:

user_tuple = ('alex','eric','seven','alex')
for i in user_tuple:
    print(i)

v = user_tuple[0]

v = user_tuple[0:2]
print(v)

user_tuple = ('alex','eric','seven',['陈涛','刘浩','赵芬芬'],'alex')
user_tuple[0] = 123   x
user_tuple[3] = [11,22,33] x
user_tuple[3][1] = '刘一'
print(user_tuple)

li = ['陈涛','刘浩',('alex','eric','seven'),'赵芬芬']
****** 元组最后,加逗号 ******
li = ('alex',)
print(li)
View Code

# ######################################### dict:字典: 可变类型 #########################################

# 1. 清空、

dic = {'k1':'v1','k2':'v2'}
dic.clear()
print(dic)
View Code

2. 浅拷贝

dic = {'k1':'v1','k2':'v2'}
v = dic.copy()
print(v)
View Code

3. 根据key获取指定的value;不存在不报错

dic = {'k1':'v1','k2':'v2'}
v = dic.get('k1111',1111)
print(v)
v = dic['k1111']
print(v)
View Code

4. 删除并获取对应的value值

dic = {'k1':'v1','k2':'v2'}
v = dic.pop('k1')
print(dic)
print(v)
View Code

5. 随机删除键值对,并获取到删除的键值

dic = {'k1':'v1','k2':'v2'}
v = dic.popitem()
print(dic)
print(v)

k,v = dic.popitem() # ('k2', 'v2')
print(dic)
print(k,v)

v = dic.popitem() # ('k2', 'v2')
print(dic)
print(v[0],v[1])
View Code

6. 增加,如果存在则不做操作

dic = {'k1':'v1','k2':'v2'}
dic.setdefault('k3','v3')
print(dic)
dic.setdefault('k1','1111111')
print(dic)
View Code

7. 批量增加或修改

dic = {'k1':'v1','k2':'v2'}
dic.update({'k3':'v3','k1':'v24'})
print(dic)


dic = dict.fromkeys(['k1','k2','k3'],123)
print(dic)
dic = dict.fromkeys(['k1','k2','k3'],123)
dic['k1'] = 'asdfjasldkf'
print(dic)

dic = dict.fromkeys(['k1','k2','k3'],[1,])
{
   k1: 123123213, # [1,2]
   k2: 123123213, # [1,]
   k3: 123123213, # [1,]
}
dic['k1'].append(222)
print(dic)
View Code

# ########## 额外:
# - 字典可以嵌套
# - 字典key: 必须是不可变类型

dic = {
    'k1': 'v1',
    'k2': [1,2,3,],
    (1,2): 'lllll',
    1: 'fffffffff',
    111: 'asdf',
}
print(dic)
key:
    - 不可变
    - True,1

dic = {'k1':'v1'}
del dic['k1']
View Code

# 布尔值:
# 1 True
# 0 False
#
# bool(1111)

# ##################################### set,集合,不可重复的列表;可变类型 #####################################
# s1 = {"alex",'eric','tony','李泉','李泉11'}
# s2 = {"alex",'eric','tony','刘一'}

1.s1中存在,s2中不存在

v = s1.difference(s2)
print(v)
View Code

#### s1中存在,s2中不存在,然后对s1清空,然后在重新复制

s1.difference_update(s2)
print(s1)
View Code

2.s2中存在,s1中不存在

v = s2.difference(s1)
print(v)
View Code

3.s2中存在,s1中不存在
s1中存在,s2中不存在

v = s1.symmetric_difference(s2)
print(v)
View Code

4. 交集

v = s1.intersection(s2)
print(v)
View Code

5. 并集

v = s1.union(s2)
print(v)
View Code

6. 移除

s1 = {"alex",'eric','tony','李泉','李泉11'}
s1.discard('alex')
print(s1)

s1 = {"alex",'eric','tony','李泉','李泉11'}
s1.update({'alex','123123','fff'})
print(s1)
View Code

# ##### 额外:

s1 = {"alex",'eric','tony','李泉','李泉11'}
for i in s1:
    print(i)

s1 = {"alex",'eric','tony','李泉','李泉11',(11,22,33)}
for i in s1:
    print(i)
View Code

  

原文地址:https://www.cnblogs.com/you0329/p/6832664.html