# Python有六个标准的数据类型:标签:11,15,22,Python,44,数据类型,li,33,print From: https://www.cnblogs.com/liu-zhijun/p/18341926
# Numbers(数字) int
# String(字符串) str 字符串一旦创建,不可修改,一旦修改或者拼接,都会造成重新生成字符串
# List(列表) list 中号括起来,逗号分开,可以是数字、字符串、列表、布尔值,列表可以嵌套任何类型,列表有序元素可以被修改
# Tuple(元组) tuple 元素不可被修改,不能被增加或则删除
# Dictionary(字典) dict
# Bool (布尔值) bool
print(5345.345,'我是浮点') #数字,直接等于
print('hello world','我是字符串') #字符串,单引号双引号
tu=(1432,'wfw',('fjds',23),'我是元组') #元祖,圆括号
print(tu,type(tu))
li=[11,'fjal','我是列表'] #列表,中括号
print(li,type(li))
dic={'dfs1':'wief1','fwji2':'fjadsfj2','我是':'字典'} #字典,大括号
print(dic,type(dic))
# ============================Python数据类型之间的转换===================
a='123'
a1='fas123'
print(a,type(a))
b=int(a) #字符串转整型必须是数字
print(b,type(b))
age =5678
b=str(age) #数字转字符串
print(b,type(b))
li = [11, 22, 33, 'fajkf']
r = str(li) #列表转字符串
print(r,type(r))
# ===========================索引,下标获取数据类型中的某一个值==========
test = 'alex'
v = test[2] # 字符串索引,下标获取字符串中的某一个字符
print(v, -1)
li = [1, 2, 6, 'adfadsf', 'fadfe', ['fda', 5, ["wdf", 4], '中国人']]
print(li[5]) # 列表索引取值
#======================根据值获取当前值索引位置(左边优先)==============
li = [11, 22, 33, 22, 44]
v=li.index(22) #根据列表值获取当前值索引位置(左边优先)
print(v)
# ==============================切片===================================
test = 'alexsasdf'
v = test[0:3] # 0=<v<3 # 字符串切片
print(v)
li = [1, 2, 6, 'adfadsf', 'fadfe', ['fda', 5, ["wdf", 4], '中国人']]
print(li[3:6]) # 列表切片
# ==============================for循环===================================
test = '我是中国人你是'
for zfc in test: #字符串for循环
print(zfc)
li = [1, 2, 6, 'adfadsf', 'fadfe', ['fda', 5, ["wdf", 4], '中国人']]
for item in li: #列表for循环
print(item)
# ==============================元素修改===================================
li = [1, 2, 6, 'adfadsf', 'fadfe', ['fda', 5, ["wdf", 4], '中国人']]
li[1] = 150 #列表元素修改
li[2] = [11, 22, 33]
li[1:3] = [180, 60]
print(li, -2)
# ===============================元素增加==================================
li = [11, 22, 33, 44]
li.append(5) # 直接修改
li.append('fdwo')
li.append([123, 454]) #中括号整体追加在列表的最后面
print(li)
li = [11, 22, 33, 22, 44]
li.extend([6565,"好厉害"]) #延伸,扩展[ɪkˈstend],循环每个元素都加进去
print(li)
li = [11, 22, 33, 22, 44]
li.extend('好礼物')
print(li)
#============================在指定位置插入元素=============================
li = [11, 22, 33, 22, 44]
li.insert(0,99) #在指定位置插入元素
print(li)
#============================元素排序======================================
li = [11, 22, 33, 22, 44]
li.reverse() # [rɪˈvɜːrs]翻转,颠倒
print(li)
li = [11, 22, 33, 22, 44]
li.sort() #[sɔːrt]排序,从小到大
print(li)
li = [11, 22, 33, 22, 44]
li.sort(reverse=True) #排序,从大到小
print(li)
# ===============================元素删除==================================
li = [1, 2, 6, 'adfadsf', 'fadfe', ['fda', 5, ["wdf", 4], '中国人']]
del li[1]
del li[2:5] #列表元素删除
print(li, -4)
li = [11, 22, 33, 22, 44]
v=li.pop() #默认删除最后一个,获取被删除的值
print(li)
li = [11, 22, 33, 22, 44]
v=li.pop(1) #删除指定索引
print(li)
li = [11, 22, 33, 22, 44]
v=li.remove(22) #删除列表中的指定值,左边优先
print(li)
# ===============================元素清空==================================
li = [11, 22, 33, 44]
li.clear() # 清空列表
print(li)
# ===============================元素分割==================================
s = 'fkadslfkadsfwldfl'
new_li = list(s) # 字符串分割,内部for循环
print(new_li)
# ===============================元素拼接==================================
li = ['123', 'alesdf']
v = ''.join(li) # 列表使用join方法的前提是元素只有字符串
print(v)
# ===============================获取元素数量==============================
test = 'alexsasdf'
v =len(test) # len获取当前字符串中由几个字符组成
print(v)
li = [11, 22, 33, 44, 55, 'asdfg'] # 获取列表的元素数量
v4 = len(li)
print(v4, -6)
tu = (11, 22, 33, 44, 55, 'asdfg') # 获取元组的元素数量
v4 = len(tu)
print(v4)
# ===============================计算元素出现的次数===========================
li = [11, 22, 33, 22, 44]
v = li.count(22) # 计算元素出现的次数
print(v)
#======================整型的独有属性===================================
age=4
r=age.bit_length()
# 1 1
# 2 10
# 3 11
# 4 100
# 5 101 当前数字的二进制,前面的0去掉至少用几位来表示
print(r)
num="0011"
v=int(num,base=16) #将字符串转换为整型,16进制,"0011" 在16进制中等于 (0 * 16^3) + (0 * 16^2) + (1 * 16^1) + (1 * 16^0),也就是 0 + 0 + 16 + 1 = 17。所以 1 * 16^1 就等于 16^1,即16的1次方,结果自然是16。
print(v) #默认是10进制,base是改为16进制
#字符串的独有属性: