整理python3常用的int,str、list、tuple、dict,range函数

一、int:转成数字

i="123"
j=int(i)
print(j,type(i),type(j))
#123 <class 'str'> <class 'int'>

 (1)整数:加(+),减(-),乘(*),除(/),次方(**),a=39%2:取余数,a=39//4:获取到商(为4);还可以使用括号来修改运算次序。

   (2)浮点数:在python中吧带有小数点的数字都称为浮点数。
   (3)使用函数str()避免类型错误。

1.字符串与数字的转换以及确定相应的数据类型使用type()

1
2
3
4
5
6
7
8
9
a="123"
b=int(a)
print(b)
print(type(a))
print(type(b))
#结果为:
123
<class 'str'>
<class 'int'>

 使用2、8、10、16进制(2可以换成8和16,默认是10进制)

1
2
3
4
a="101101"
i=int(a,base=2)
print(i)
#结果:45

2. bit_length(self)

该数字的二进制至少有几位表示(首位是0会取消掉)

1
2
3
4
a=45
i=a.bit_length()
print(i)
#结果:6

3.conjugate(self, *args, **kwargs)

返回该复数的共轭复数

1
2
3
4
a=45
i=a.conjugate()
print(i)
#45

 4.from_bytes(cls, bytes, byteorder, *args, **kwargs)

 

 返回给定的字节数组表示的整数。

5.to_bytes(self, length, byteorder, *args, **kwargs)

返回表示整数的字节数组。

 

6.__abs__(self, *args, **kwargs)

返回绝对值

1
2
3
4
a=-45
i=a.__abs__()
print(i)
#45

 7.__add__(self, *args, **kwargs)

相加

1
2
3
4
a=45
i=a.__add__(55)
print(i)
#100

8.__and__(self, *args, **kwargs)

返回自身和传入的值

 

9.__bool__(self, *args, **kwargs)

判断是不是0(等于0,返回false,不等于0,返回true)

10.__ceil__(self, *args, **kwargs)

积分的上限返回自身。

11.__divmod__(self, *args, **kwargs)

返回divmod(自我,价值)

12.__eq__(self, *args, **kwargs)

判断两个值是否相等(相等,返回true,不相等,返回false)

13.__float__(self, *args, **kwargs)

返回float类型

14.__floordiv__(self, *args, **kwargs)

获取到商

15.__floor__(self, *args, **kwargs)

地板积分返回自身。(实在是不懂是什么意思咯,谷歌翻译)

 

 

二、字符串

(字符串一旦创建,不可修改

一旦修改或者拼接,都会造成重新生成字符串)

字符串:表示方式有四种:n=" ",n=' ', n=''' ''',n=""" """

(1)修改字符串的大小写

message='wesshws asdwdj fdgbghs dhasjd shhhc'
print(message.title())


##############
Wesshws Asdwdj Fdgbghs Dhasjd Shhhc

endswith

startwith

# 以什么什么结尾
# 以什么什么开始
# test = "alex"
# v = test.endswith('ex')
# v = test.startswith('ex')
# print(v)

 find 

# 7 从开始往后找,找到第一个之后,获取其未知
# > 或 >=
# test = "alexalex"
# 未找到 -1
# v = test.find('ex')
# print(v)

# 8 index找不到,报错   忽略
# test = "alexalex"
# v = test.index('8')
# print(v)

  format

(1)用{}来占坑
(2)%s 占坑字符串【这个可以填任何数据】,%d占坑数字,%f占坑浮点数【%.2f——>保留两位小数,做四舍五入】
# 9 格式化,将一个字符串中的占位符替换为指定的值 # test = 'i am {name}, age {a}' # print(test) # v = test.format(name='alex',a=19) # print(v) # test = 'i am {0}, age {1}' # print(test) # v = test.format('alex',19) # print(v) # 10 格式化,传入的值 {"name": 'alex', "a": 19} # test = 'i am {name}, age {a}' # v1 = test.format(name='df',a=10) # v2 = test.format_map({"name": 'alex', "a": 19})

 join 

# 17 ***** 将字符串中的每一个元素按照指定分隔符进行拼接
# test = "你是风儿我是沙"
# print(test)
# v = "_".join(test)
# print(v)

 upper,lower 

# 18 判断是否全部是大小写 和 转换为大小写
# test = "Alex"
# v1 = test.islower()
# v2 = test.lower()
# print(v1, v2)

# v1 = test.isupper()
# v2 = test.upper()
# print(v1,v2)

 strip 

			                        移除指定字符串
						# 有限最多匹配
						# test = "xa"
						# # v = test.lstrip('xa')
						# v = test.rstrip('9lexxexa')
						# # v = test.strip('xa')
						# print(v)

						# test.lstrip()
						# test.rstrip()
						# test.strip()
						# 去除左右空白
						# v = test.lstrip()
						# v = test.rstrip()
						# v = test.strip()
						# print(v)
						# print(test)
						# 去除\t \n
						# v = test.lstrip()
						# v = test.rstrip()
						# v = test.strip()
						# print(v)

 split

  字符串名.split(切割符号,切割次数),默认为全部,返回的数据类型是一个列表,并且列表里面的子元素都是字符串类型;

  指定的切割符,被切走了;

 

s='hellopytlllhon'
print(s.split('l',2))


#############
['he', '', 'opytlllhon']
View Code
                                          # 21 分割为三部分
						# test = "testasdsddfg"
						# v = test.partition('s')
						# print(v)
						# v = test.rpartition('s')
						# print(v)

					# 22 分割为指定个数
						# v = test.split('s',2)
						# print(v)
						# test.rsplit()


					# 23 分割,只能根据,true,false:是否保留换行
						# test = "asdfadfasdf\nasdfasdf\nadfasdf"
						# v = test.splitlines(False)
						# print(v)

 replace

字符串.replace('旧值','新值',替换次数),默认次数为全部

					# 27 将指定字符串替换为指定字符串
						# test = "alexalexalex"
						# v = test.replace("ex",'bbb')
						# print(v)
						# v = test.replace("ex",'bbb',2)
						# print(v)

  for循环

	             # 一、for循环
						# for 变量名 in 字符串:
						# 变量名
						# break
						# continue
						
						
						# index = 0
						# while index < len(test):
						#     v = test[index]
						#     print(v)
						#
						#     index += 1
						# print('=======')

						# for zjw in test:
						#     print(zjw)

						# test = "乌克兰小乳猪"
						# for item in test:
						#     print(item)
						#     break

						# for item in test:
						#     continue
						#     print(item)

  

 字符串取值:【很重要】

  单个取元素:

    字符串名[索引值]

    索引值从0开始;

    正序取元素;反序取值;

    例如:hellopython

    正序:0,1,2,3,4,5,6,7,8,9

    反序:-1,-2。。。。-9

  取多个元素:

    字符串名[索引头:索引尾:步长],默认步长为1,并且规则是取头不取尾

    例如;

      s='hellopython'

       s[1:5:2]#1 3——>el
     s[:]——>全取

索引

                                  # 二、索引,下标,获取字符串中的某一个字符
						# v = test[3]
						# print(v)

  切片

                                       # 三、切片
						# v = test[0:-1] # 0=<  <1
						# print(v)

  len

                                        # 四、获取长度
						# Python3: len获取当前字符串中由几个字符组成
						# v = len(test)
						# print(v)

  range

                                    # 五、获取连续或不连续的数字,
						# Python2中直接创建在内容中
						# python3中只有for循环时,才一个一个创建
						# r1 = range(10)
						# r2 = range(1,10)
						# r3 = range(1,10,2)
						# 帮助创建连续的数字,通过设置步长来指定不连续
						# v = range(0, 100, 5)
						#
						# for item in v:
						#     print(item)

  

 三、列表

(有序的;

  中括号括起来[];

逗号分隔;

列表中的元素可以是数字、字符串、列表,布尔值,元祖,字典;

列表内的元素,可以是其它任意类型的数据,可多层嵌套列表,元素个数无限制;

可被修改)

max[list]————返回列表元素的最大值

min[list]————返回列表元素的最小值

但是不能混合不同类型求最大值最小值;

list[seq]————将序列转换为列表【说实话,不是很懂】

(1)添加元素

append([])——————————————在列表的末尾添加元素,只能追加一个元素每次。

可不新的变量保存,原来的值最后追加

li=[123,22,"asd","q",34]
li.append(100)
print(li)
#结果:[123, 22, 'asd', 'q', 34, 100]

  

extend

li=[123,22,"asd","q",34]
li.extend([12,333,45,"asd"])
print(li)
#结果:[123, 22, 'asd', 'q', 34, 12, 333, 45, 'asd']



li=[123,22,"asd","q",34]
li.extend(1000)
print(li)
#结果:TypeError: 'int' object is not iterable

区别:extend与append方法的相似之处在于都是将新接收到参数放置到已有列表的后面。而extend方法只能接收list,且把这个list中的每个元素添加到原list中。

而append方法可以接收任意数据类型的参数,并且简单地追加到list尾部。

i=[1,2,3,4]
i.extend(["a","b"])
print(i)

i1=[1,2,3]
i1.append(["a","b"])
print(i1)
i2=[123,456]
i2.append(0)
print(i2)
i3=[1,2]
i3.extend("abc")
print(i3)


######################
[1, 2, 3, 4, 'a', 'b']
[1, 2, 3, ['a', 'b']]
[123, 456, 0]
[1, 2, 'a', 'b', 'c']
View Code

 

insert)-----——————————可以在列表的任何位置添加元素,要指定元素的索引值。

(第一个参数是下标,第二个参数是value)

li=[123,22,"asd","q",34]
li.insert(0,200000)
print(li)
#结果:[200000, 123, 22, 'asd', 'q', 34]

 

(2)删除元素

del 列表名[索引值]————前提知道要删除元素在列表中的索引,并且无法再访问了;

pop()————删除末尾的元素,并且能够接着使用它;会返回被删除的那个元素。

pop(索引值)————删除索引所在的元素,并且能够接着使用它,会返回被删除的那个元素;

remove(" ")————————根据值删除元素,并且也是可接着使用它的值,会返回被删除的那个元素。

 

message=[4,'sd','fhr',78,'dgh',45,515,99999,'sb','sbb','sbbb']
del message[-2]
print(message)
message1=message.pop()
print(message)
print(message1)
message2=message.pop(0)
print(message2)
message3=message.remove('sb')
print(message)
######################
[4, 'sd', 'fhr', 78, 'dgh', 45, 515, 99999, 'sb', 'sbbb']
[4, 'sd', 'fhr', 78, 'dgh', 45, 515, 99999, 'sb']
sbbb
4
['sd', 'fhr', 78, 'dgh', 45, 515, 99999]
View Code

 

 (3)排序

sort()

sort(reverse=True) ———————相反的顺序排序

 该两种方法对列表的修改是永久性的

message=[1,23,45,25,12,69,55]
message1=["sd","rf","asg"]
message.sort()
message1.sort()
print(message,message1)
#############################
[1, 12, 23, 25, 45, 55, 69] ['asg', 'rf', 'sd']




message=[1,23,45,25,12,69,55]
message1=["sd","rf","asg"]
message.sort(reverse=True)
message1.sort(reverse=True)
print(message,message1)


#########################
[69, 55, 45, 25, 23, 12, 1] ['sd', 'rf', 'asg']
View Code

临时排序——sorted(),sorted(reverse=True)

message=[1,23,45,25,12,69,0,55]
message1=["sd","asg","rf","ws","ca"]
message2=sorted(message)
message3=sorted(message1,reverse=True)
print(message,message1)
print(message2,message3)

#########################
[1, 23, 45, 25, 12, 69, 0, 55] ['sd', 'asg', 'rf', 'ws', 'ca']
[0, 1, 12, 23, 25, 45, 55, 69] ['ws', 'sd', 'rf', 'ca', 'asg']
View Code

(4)倒着打印列表和确定列表的长度【很重要】

message=[1,23,45,25,12,69,0,55]
message1=["sd","asg","rf","ws","ca"]
message.reverse()
print(message)
print(len(message1))
######################
[55, 0, 69, 12, 25, 45, 23, 1]
5
View Code

 (5)使用range()创建数字列表

   生成的是整数序列,range(m,n,k),m头,默认为0,n尾,k步长,步长默认为1,取头不取尾。

  range()函数可以生成一系列的数字,还可以指定步长

  使用list()吧range()结果转为列表;

int1=range(1,6)
for i in int1:
    print(i)
int2=range(0,50,5)
for i1 in int2:
    print(i1)
message=list(int2)
for i3 in message:
    print(i3)
View Code

对数字列表进行简单的统计计算:

number=[0,23,43,55,65,43,96]
print(min(number))
print(max(number))
print(sum(number))
##########################
0
96
325
View Code

索引

li=[123,22,"asd","q",34]
i=li[0]
print(i)
#结果:123

切片——到达指定的第二个索引前面的元素后停止

列表名[x,y](x,y道标索引值)

如果没有制定第一个索引值,则自动从列表开头开始。

li=[123,22,"asd","q",34]
i=li[0:-1]
print(i)
#结果:[123, 22, 'asd', 'q']

循环——在for循环后面没有缩进的代码都只执行一次,并且不会重复执行。

li = [123, 22, "asd", "q", 34]
for item in li:
    print(item)
#结果:
123
22
asd
q
34

  

四.元组(tuple)

(用圆括号来标识

有序的;

元素不可以被修改,增加,删除;

 

元组只保证它的一级子元素不可变,对于嵌套的元素内部,不保证不可变!

比如如果元组里面有列表,那就可以修改列表里面的元素进行修改。

一般在写元祖的时候,推荐在后面输入,(英文逗号)

元祖的一级元素不可以被修改、删除、增加;但是可以给存储元祖的变量赋值;

元组里面可以是任何的数据;

所以,在使用元组的时候,请尽量使用数字、字符串和元组这种不可变的数据类型作为元组的元素,这样就能确保元组不发生变化。

逗号分隔;

但是如果元祖只有一个元素时候,后面要加上逗号,a=("hello")——>类型是字符串;

元组使用切片取值也一样的道理。

number=(200,999)
print(number)
number=(300,"sb")
print(number)
#####################
(200, 999)
(300, 'sb')
View Code

 

索引、切片、循环

Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串;返回通过指定字符连接序列中元素后生成的新字符串

拼接分为:只有字符串:“”.join()

                 有字符串和数字:只有自己写for循环

tu = (123, 23, "qwe", "asd", 44)
tu1 = (124, 34, "qas")
tu2 = tu + tu1
for item in tu2:
    print(tu2)
#结果:
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')
(123, 23, 'qwe', 'asd', 44, 124, 34, 'qas')

 

tu1 = ("bn", "qas")
tu2 = "*".join(tu1)
print(tu2)
#结果:bn*qas

五、字典

(键-值对;

{}花括号表示;

逗号隔开;

从Python3.6开始,字典是有序的!它将保持元素插入时的先后顺序!请务必清楚。

一个对象能不能作为字典的key,就取决于其有没有__hash__方法。字典包含的元素个数不限,值的类型可以是任何数据类型!但是字典的key必须是不可变的对象,例如整数、字符串、bytes和元组,最常见的还是将字符串作为key。列表、字典、集合等就不可以作为key。同时,同一个字典内的key必须是唯一的,但值则不必。所以所有python自带类型中,目前已知的除了list、dict、set和内部带有以上三种类型的tuple之外,其余的对象都能当key。布尔值也是可以的,只是在其存在计算机中是0和1存储,所以要区分其和数字0,1;

value可以包含任何类型的数据。

(1)

字典是一种动态结构,可随时在其中添加键值对。

添加键-值对

已存在的key就是修改,不存在的key就是新增;

persen={'name':'alice','age':'18','sex':'man'}
persen['hobby']='games'
print(persen)
######################
{'sex': 'man', 'name': 'alice', 'hobby': 'games', 'age': '18'}
View Code

(2)修改字典中的值

persen={'name':'alice','age':'18','sex':'man','hobby':'games'}
persen['age']='20'
print(persen)
###################
{'name': 'alice', 'hobby': 'games', 'sex': 'man', 'age': '20'}
View Code

(3)删除键-值对

字典名.pop('指定要删除的key值')

使用del要指定字点明和删除的键

persen={'name':'alice','age':'18','sex':'man','hobby':'games'}
del persen['hobby']
print(persen)

#####################
{'sex': 'man', 'name': 'alice', 'age': '18'}
View Code

(4)遍历所有的键-值对———————————需要使用到items()方法

persen={'name':'alice','age':'18','sex':'man','hobby':'games'}
for x,y in persen.items():
    print(x+':'+y)

########################
name:alice
sex:man
age:18
hobby:games
View Code

(5)遍历字典中的所有键

 keys()

获取key值

dic={"1":"qw","23":"wed","c":"(78,39,95)"}
dic.keys()
for item in dic:
    print(item)
#结果:
1
23
c

(6)遍历字典中的所有值

 values

获取value值

dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print ("字典所有值为 : ",  list(dict.values()))
#结果:
字典所有值为 :  ['female', 7, 'Zara']

  

(7)遍历所有的键-值对

  item()

dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print ("字典所有值为 : ",  list(dict.items()))
#结果:字典所有值为 :  [('Name', 'Zara'), ('Age', 7), ('Sex', 'female')]

(8) 

get

Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值

返回指定键的值,如果值不在字典中返回默认值 None。

dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print ("结果是:",dict.get("Age"))
#结果是: 7

 (9)set()获取独一无二的值

dic={"1":"qw","23":"wed","3":"qqw","582":"(78,39,95)","3":"qw","62":"dgsh"}
for item in set(dic.keys()):
    print(item)
print('华丽分割线--- --- --- --- ---- ---  ----')
for item1 in set(dic.values()):
    print(item1)


###############################
62
3
1
582
23
华丽分割线--- --- --- --- ---- ---  ----
wed
dgsh
(78,39,95)
qw
View Code

 

Python3 字典 update() 方法

Python 字典 update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。

添加到指定字典dict里的字典。

dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
dict2 = {"qw": "123", "a": "67"}
dict.update(dict2)
print("结果是:", dict)
#结果是: {'qw': '123', 'Age': 7, 'Sex': 'female', 'Name': 'Zara', 'a': '67'}

 索引、切片、循环

六、(简单补充)

在bool里面,返回为false的有如下:

None,“”,(),[],0;

其余的返回都为真。

3.基本数据类型

  数字和字符串

  (1)数值运算:加、减、乘、除、幂、取余、取商

  in-------------------判断某个东西是否在某个东西里面包含

  not-----------------------反之

  字符串的子序列:“编辑问”的子序列:“编辑问”、“编辑”、“辑问”、“编”、“辑”、“问”

  (2)布尔值:True和Flase

  (3)逻辑运算:and、or

  先计算括号里面的,执行顺序:顺序执行

  true or----------------结束,结果为true

  true and--------------继续走

  false and------------flase

  false or------------------继续走

【任性插入求模运算符(%)】————————它将指出余数是多少

如果一个数可被另外一个数整除,余数就是0,由此可以使用来判断一个数是奇数还是偶数。

 

* 重复输出字符串,相当于乘法 a * 2 'HelloHello'
posted @ 2018-08-29 01:55  小猪猪猪  阅读(654)  评论(0)    收藏  举报