十 数据类型

一、什么是数据类型

1、int:123456....用于计算
2、bool:True、False。用户判断。‘
3、str:存储少量数据,进行操作
4、list:列表。百万级、千万级。[]
5、元祖:只读列表。()
6、字典:键值对组成。{}
7、集合:

二、int(数字)数据类型

1、.bit_length()
转换为二进制最少的位数

i = 5
k = 9
print(i.bit_length())
print(k.bit_length())

输出

2
3

三、bool值数据类型

表示True、False。
1、int类型和bool值转换

0为False
非0为True

2、bool值和int类型转换

True = 1
False = 0

应用:写while语句时候需要用到while True。运行的时候True需要转换成1去运行。如果直接写while 1:运行速度更快,效率更高。

3、str和bool转换

非空字符串为True
空字符串为Flase

四、str字符串数据类型

1、字符串的索引与切片
1.1.索引:既字符的占位,不影响原本值。从零开始。负数为从后开始从-1开始。

s = 'qweerwefjafajdshfkjad'
s1 = s[0]
print(s1)
q

1.2.切片:顾头不顾腚原则

s = 'qweerwefjafajdshfkjad'
s1 = s[0:3]    #qwe
s2 = s[0:]     #从头到尾
s3 = s[0:5:2]  #间隔取[首:尾:补偿]
print(s1)  
print(s2)
print(s3)

qwe
qweerwefjafajdshfkjad
qer

五、列表(list)

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

li = [ 'cxm','[1,2,3,4]','yly','cml','cyy' ]
l1 = li[0]
l2 = li[1]
print(l1)
print(l2)
cxm
[1,2,3,4]

1、增 append insert extend
①append

li = [ 'cxm','[1,2,3,4]','yly','cml','cyy' ]
li.append('qwe')
print(li)
['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy', 'qwe']

②insert

li = [ 'cxm','[1,2,3,4]','yly','cml','cyy' ]
li.insert(2,'haha')
print(li)
['cxm', '[1,2,3,4]', 'haha', 'yly', 'cml', 'cyy']

③extend

li = [ 'cxm','[1,2,3,4]','yly','cml','cyy' ]
li.extend(['11','2','3'])
print(li)
['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy', '11', '2', '3']

2、删 pop remove clean del
①pop安装索引删除

li = ['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy']

li.pop(1)
name = li.pop()
print(name)
print(li)
cyy
['cxm', 'yly', 'cml']

②remove 按照元素删除

li = ['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy']
li.remove('yly')
print(li)
['cxm', '[1,2,3,4]', 'cml', 'cyy']

③clean 清空

li = ['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy']
li.clear()
print(li)
[]

④del 直接清空变量或者切片删除

li = ['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy']
del li[0:2]
print(li)
['yly', 'cml', 'cyy']

3、改
①根据索引改

li = ['cxm', '[1,2,3,4]', 'yly', 'cml', 'cyy']
li[0] = 'qqqqq'
print(li)
['qqqqq', '[1,2,3,4]', 'yly', 'cml', 'cyy']

②根据切片改

li = ['cxm','[1,2,3,4]', 'yly', 'cml', 'cyy']
li[0:2] = ['qqq','www']
print(li)
['qqq', 'www', 'yly', 'cml', 'cyy']

4、查

li = ['cxm','[1,2,3,4]', 'yly', 'cml', 'cyy']
print(li[0:2])
print(li[3])
['cxm', '[1,2,3,4]']
cml

②查每个元素

for i in li:
    print(i)

5、公共方法
①len 列表元素

li = ['cxm','[1,2,3,4]', 'yly', 'cml', 'cyy']
l = len(li)
print(l)
5

②count 出现次数

li = ['cxm','[1,2,3,4]', 'yly', 'cml', 'cyy','cxm']
a = li.count('cxm')
print(a)
2

②inde索引

li = ['cxm','[1,2,3,4]', 'yly', 'cml', 'cyy','cxm']
a = li.index('yly')
print(a)

2

③sort 排序
·(正)

li = [1,5,8,3,6,9,2]
li.sort()
print(li)
[1, 2, 3, 5, 6, 8, 9]

·(倒)

li = [1,5,8,3,6,9,2]
li.sort(reverse=True)
print(li)
[9, 8, 6, 5, 3, 2, 1]

④reverse (列表倒叙显示)

li = [1,5,8,3,6,9,2]
li.reverse()
print(li)
[2, 9, 6, 3, 8, 5, 1]

六、元祖

元祖为只读列表,不可以修改,但是元祖里的列表可以修改。

(1,2,3,['a','b'],4,5)

七、字典(dict)

可变数据类型:元祖、bool值、数字(int)、字符串(str)【可哈希】
可变数据类型:列表、字典、集合(set)【不可哈希】

映射类型:key-value
key:必须不可变数据类型
value:任意数据类型

优点:二分法查找。查询速度快。存储大量的关系型数据。

1、增

①有覆盖无增加

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
dic1 ['higjh'] = 185        #没有键值对增加
print(dic1)
dic1 ['age'] = 16       #有键值对覆盖
print(dic1)
{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v', 'higjh': 185}
{'age': 16, 'name': 'jin', 'sex': 'male', 'k': 'v', 'higjh': 185}

②无增加,有不动

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
dic1.setdefault('weight',123)
print(dic1)
dic1.setdefault('name','cxm')
print(dic1)
{'age': 16, 'name': 'jin', 'sex': 'male', 'k': 'v', 'higjh': 185, 'weight': 123}
{'age': 16, 'name': 'jin', 'sex': 'male', 'k': 'v', 'higjh': 185, 'weight': 123}
2、删

①pop 有返回值(可以返回值,不会报错)

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1.pop('age',None))
print(dic1.pop('123123',None))
print(dic1)
18
None
{'name': 'jin', 'sex': 'male', 'k': 'v'}

②popitem 随机删除

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1.popitem())
print(dic1)
('k', 'v')
{'age': 18, 'name': 'jin', 'sex': 'male'}

③clear清空字典

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1.clear())
print(dic1)
None
{}

④删除字典del

3、改

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
dic1 ['age'] = 16
print(dic1)
{'age': 16, 'name': 'jin', 'sex': 'male', 'k': 'v'}

②update 有覆盖,没有添加

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
dic2 = {'age':11,'weight':'cxm'}
dic2.update(dic1)
print(dic1)
print(dic2)
{'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
{'age': 18, 'weight': 'cxm', 'name': 'jin', 'sex': 'male', 'k': 'v'}
4、查

1、

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1.keys())
print(dic1.values())
print(dic1.items())
for i in dic1:
    print(i)
for i in dic1.values():
    print(i)
for i in dic1.items():
    print(i)
dict_keys(['age', 'name', 'sex', 'k'])
dict_values([18, 'jin', 'male', 'v'])
dict_items([('age', 18), ('name', 'jin'), ('sex', 'male'), ('k', 'v')])
age
name
sex
k
18
jin
male
v
('age', 18)
('name', 'jin')
('sex', 'male')
('k', 'v')

2、get

dic1 = {'age': 18, 'name': 'jin', 'sex': 'male', 'k': 'v'}
print(dic1['name'])
print(dic1.get('name1','没有这个键'))
jin
没有这个键
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351

推荐阅读更多精彩内容