【Python学习笔记—保姆版】第二章—Python的基本运算符、数据类型、常用函数

欢迎访问我搞事情的【知乎账号】:Coffee
以及我的【B站漫威剪辑账号】:VideosMan
若我的笔记对你有帮助,请用小小的手指,点一个大大的赞哦。

运算符

算数运算符

+加法——加——两个对象相加a + b = 30
-减法——得到负数或是一个数减去另一个数a - b = -10
*乘法——两个数相乘或是返回一个被重复若干次的字符串a * b = 200
/除法——b除以ab / a = 2
%取模——返回除法的余数b % a = 0
**指数——返回a的b次幂a**b = 10 的幂 20
//取整除——返回商的整数部分9//2 = 4 而 9.0//2.0 = 4.0

比较运算符

==\检查两个操作数的值是否相等,若相等则条件为真(a == b) 不为true
!=检查两个操作数的值是否相等,若不等则条件为真(a != b) 为true
>检查左操作数的值是否大于右操作数的值,若大于则条件为真(a> b) 不为true\
<检查左操作数的值是否小于右操作数的值,若小于则条件为真(a< b) 为true
>=检查左操作数的值是否大于等于右操作数的值,若大于等于则条件为真(a>= b) 不为true
检查左操作数的值是否小于等于右操作数的值,若小于等于则条件为真(a <= b) 为true

赋值运算符

=简单的赋值运算符,赋值从右侧操作数到左侧操作数c=a+b
+=加法赋值运算符c+=a → c=c+a
-=减法赋值运算符c-=a → c=c-a
//=地板除,左操作数地板除右操作数,结果赋给左操作数c//=a → c=c//a
**=指赋值运算符,左操作数的右操作数指数之值赋给左操作数c**=a →c=c**a
%=模赋值运算符c%=a→ c=c%a
/=除法赋值运算符c/=a → c=c/a
*=乘法赋值运算符c*=a → c=c*a

数据类型

数字(Numbers)

查看数据类型的方法:type(变量名)
>>> a = 1  #int
>>> type(a)
<class 'int'>
>>> b = True  #boolean
>>> type(b)
<class 'bool'>
>>> c = 4+3j  #complex
>>> type(c)
<class 'complex'>
>>> d = 3.14   #float
>>> type(d)
<class 'float'>

字符串(String)

引号的使用

使用单引号(')

可以用单引号指示字符串,就如同’Quote me on this’这样。所有的空白,即空格制表符都照原样保留。

使用双引号( " )

在双引号中的字符串与单引号中的字符串的使用完全相同,例如"What’s your name?"。

使用三引号(’ ’ ’ 或" " " )

利用三引号,可以指示一个多行的字符串。可以在三引号中自由的使用单引号和双引号。如注释一段文字*可用三引号。

索引切片、包含判断

字符串可以使用 + 运算符串连接在一起,或者用 * 运算符重复:

>>> print('str'+'ing', 'my'*3)
string mymymy

字符串索引

给出一个字符串,可输出任意一个字符。Python中的字符串有两种索引方式:第一种是从左往右,从0开始依次增加;第二种是从右往左,从-1开始依次减少。

>>> word = 'Python'
>>> print(word[0])
P
>>> print(word[-1], word[-6])
n P

字符串切片

分片就是从给定的字符串中分离出部分内容。形式为变量[头下标:尾下标],截取的范围是前闭后开的,并且两个索引都可以省略。

>>> str = "Hello My friend"
>>> print(str[1:4])
ell
>>> print(str[:-7])
Hello My
>>> print(str[5:])
    My friend
>>> print(str[:])
Hello My friend

字符串分片的扩展形式

str[I:J:K] 意思是从I到J-1,每隔K个元素索引一次,如果K为负数,就是按从右往左索引。

>>> str = "Hello My friend"
>>> print(str[2:7:2])
loM
>>> print(str[2:7:1])
llo M

字符串包含的判断操作符

字符串包含判断操作符:in,not in

>>> str = "Hello My friend"
>>> "He" in str
True
>>> "she" not in str
True
>>> str.find('o')  #字符串模块提供的查找方法
4

string模块提供的方法、内置函数、str转换

  • string模块提供的方法
string 提供的方法描述
S.find(substring, [start [,end]])可指范围查找子串,返回索引值,否则返回-1
S.rfind(substring,[start [,end]])反向查找
S.index(substring,[start [,end]])同find,只是找不到产生ValueError异常
S.rindex(substring,[start [,end]])同上反向查找
S.count(substring,[start [,end]])返回找到子串的个数
S.lower()转小写
S.upper()转大写
S.swapcase()大小写互换
S.split()将string转list,默认以空格切分,也可以指定字符切分
  • 处理字符串的内置函数
内置函数描述
len(str)串长度
max(‘abcxyz’)寻找字符串中最大的字符
min(‘abcxyz’)寻找字符串中最小的字符

Range (左闭右开)

python中的内置函数range(n),其中参数n代表:从0到n-1的一个序列,即长度为n的一个序列。

也可以自定义我们需要的起始点和结束点,如:

>>>range(1,5)  #代表从1到5(不包含5),即:1、2、3、4

还可以定义步长。定义一个从1开始到30结束,步长为3的列表。

>>>list(range(1, 30, 3)) 	#用list把值显示出来
[1, 4, 7, 10, 13, 16, 19, 22, 25, 28]

列表(List)

对字符串的操作

列表是写在方括号之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同。如:a = [“I”,“you”,“he”,5] 。
索引同字符串和元组一样,从0开始,0表示第一个元素索引,-1最后一个元素索引,-len()第一个元素的索引,len()-1最后一个元素的索引。

创建连续的list
>>> list(range(1,5))
[1, 2, 3, 4]
>>> list(range(1, 10, 2))  #步长为2,从1开始,每隔2取一个数
[1, 3, 5, 7, 9]

List索引与切片

和字符串一样,列表同样可以被索引和切片,列表被切片后返回一个包含所需元素的新列表。

>>> a = ["I","you","he",5]
>>> a[1:3]
['you', 'he']
>>> a[1]
'you'
>>> a[1]='she'
>>> a
['I', 'she', 'he', 5]

List串联操作

列表还支持串联操作,使用“+”操作符:

>>> a = [1, 2, 3, 4, 5]
>>> a + [6, 7, 8]
[1, 2, 3, 4, 5, 6, 7, 8]

字符串转换为列表

在列表a中n位置插入一个值‘q’:a[n:n]=['q'] 
将字符串转化为列表:list(str)
>>> a = [1, 2, 4, 5]
>>> a[2:2]=[3]         #在列表中的某位置插入一个值
>>> a
[1, 2, 3, 4, 5]
>>> len(a)               #测试列表的长度(含元素的个数)
5
>>> word='hello'
>>> list(word)         #将字符串转化为列表
['h', 'e', 'l', 'l', 'o']

排序

List排序:sort()

sort()函数对列表排序时改变了原来的列表,从而让其中的元素能按一定的顺序排列。(默认从小到大排列)

>>> a = [3,2,5,4,9,8,1]
>>> a.sort()
>>> a
[1, 2, 3, 4, 5, 8, 9]
>>> sort(a)
Traceback (most recent call last):
    File "<pyshell#3>", line 1, in <module>
    sort(a)
NameError: name 'sort' is not defined

>>> e=[1, 3, 2,4,5]
>>> e.sort(reverse=True)
>>> e
[5, 4, 3, 2, 1]

sort()函数改变原来的列表,函数返回值是空值,即None。因此,如果需要一个已排好序的列表副本,同时又要保留原有列表不变的时候,就不能直接简单的使用sort()函数。

为了实现上述功能使用sort()的方法是:先获取列表a的副本b和c,然后再对b和c进行排序。

>>> a = [3,2,5,4,9,8,1]
>>> id(a)                 	#查看a的存储地址
55494776
>>> b=a[:]             	#拷贝一个副本b
>>> b
[3, 2, 5, 4, 9, 8, 1]
>>> id(b)                 	#查验b的存储地址
55486264                 	#发现b和a地址不一致,说明复制了一份
>>> c=a                  	#复制一个副本c
>>> c
[3, 2, 5, 4, 9, 8, 1]
>>> id(c)                 	#查验c的存储地址
55494776         	#发现c的地址跟a一致,说明c是a一个标签,不是真复制
>>> b.sort()    		#对b进行排序
>>> b
[1, 2, 3, 4, 5, 8, 9]
>>> a                       	#b排序后对a没有影响
[3, 2, 5, 4, 9, 8, 1]
>>> c.sort()            	#对c进行排序
>>> c
[1, 2, 3, 4, 5, 8, 9]
>>> a                      	#c排序后对a有影响,与a、c一致
[1, 2, 3, 4, 5, 8, 9]

List排序:sorted()

获取已排序的列表副本的方法是使用sorted()函数。
>>> a = [3,2,5,4,9,8,1]
>>> sorted(a)                #对a排序后产生一个新的列表
[1, 2, 3, 4, 5, 8, 9]
>>> a
[3, 2, 5, 4, 9, 8, 1]

注意:a.sort()sorted(a)的区别,sorted(a)产生的是一个新列表,而a.sort()是对a直接排序了。

List排序: reverse() list一下才可以

L.reverse()     		   #倒序排列
>>> e.reverse()
>>> e
[1, 2, 3, 4, 5]
或者:
>>> reversed([1,2,'L'])   #返回的是一个迭代器,必须再list一下才可以
>>> list(reversed([1,2,'L']))
['L', 2, 1]
或者:
>>> w=[1,2,'L']
>>> w[::-1]
['L', 2, 1]

元素追加:append()、extend()、insert()

List元素追加:append() 不是串联

L.append(var)   #追加元素,追加的元素可以是一个list、数、字符串等
>>> w=[1,2,'L']
>>> q=[8,9]
>>> w.append(q)   #不能写成w= w.append(q)
>>> w
[1, 2, 'L', [8, 9]]

List元素追加:extend() 串联

L.extend(list)  #追加list,即合并list到L上,只能是追加list。
>>> w=[1,2,'L']
>>> q=[8,9]
>>> w.extend(q)
>>> w
[1, 2, 'L', 8, 9]

注意:append和extend的区别是:append整体添加成list的一个元素。

List元素追加:insert()

L.insert(index,var) #在index位置插入var
>>>a = ["I","you","he",5] 
>>>a.insert(1,'love')
>>>a
    ['I', 'love', 'you', 'he', 5]

删除:pop()、del()、remove()

List元素删除:pop()

L.pop(index)   #返回被删除的index位置元素,只能删一个元素,并从list中删除之,默认删除最后一个元素。
>>>a = ["I","you","he",5] 
>>>a.pop(2)
'he'
>>>a
['I', 'you', 5]
>>>a.pop()
5
>>>a
['I', 'you']

List元素删除:del()

del L[1]    #删除指定下标的元素
>>>a = ["I","you","he",5] 
>>>del a[3]
>>>a
    ['I', 'you', 'he']

del L[1:3]  #删除指定下标范围的元素

List元素删除:remove()

L.remove(var)   #删除第一次出现的var元素
>>>li = [1,2,3,4,5,6]
>>>li.remove(4)
>>>li
[1, 2, 3, 5, 6]
>>>li = [1,2,3,4,5,6]
>>>li = li[:-1]
>>>li
[1, 2, 3, 4, 5]

List操作符:“:”、“+”、“*”

a[1:]             #片段操作符,用于子list的提取

[1,2]+[3,4]    #结果为[1,2,3,4]。同extend()

[2]*4             #结果为[2,2,2,2]

List索引

列表:array = [1, 2, 5, 3, 6, 8, 4]

列表的索引如下图,对应的元素1=array[0]= array[-7],以此类推。
在这里插入图片描述

>>> array[0:] #列出0以后的
[1, 2, 5, 3, 6, 8, 4]
>>> array[1:] #列出1以后的
[2, 5, 3, 6, 8, 4]
>>> array[:-1] #列出-1之前的
[1, 2, 5, 3, 6, 8]
>>> array[3:-3] #列出3到-3之间的
[3]
>>> array[::2]  #表示步长为2取元素,即隔一个元素取一个元素
[1, 5, 6, 4]
>>> array[2::]
[5, 3, 6, 8, 4]
>>> array[::3]
[1, 3, 4]
>>> array[::4]
[1, 6]
>>> array[::-1]	#倒序效果
[4, 8, 6, 3, 5, 2, 1]
>>> array[::-2]
[4, 6, 5, 1]

List其他方法

L.count(var) #该元素在列表中出现的个数

L.index(var) #返回第一个var元素的位置,无则抛异常

元组(Tuple)

特点

元组(tuple)与列表类似,不同之处在于元组的元素不能修改(同字符串)。元组写在小括号里,元素之间用逗号隔开,类似于向量写法。元组中的元素类型也可以不相同。

>>> a = (1991, 2014, 'physics', 'math')
>>> print(a, type(a), len(a))
    (1991, 2014, 'physics', 'math')  <class 'tuple'>  4
  • 元组由不同的元素组成,每个元素可以存储不同类型的数据,而元组中的元素则代表不同的数据项。
  • 创建元组,不定长,但一旦创建后和字符串一样都是不可变的
>>> tup = (1, 2, 3, 4, 5, 6)
>>> print(tup[0], tup[1:5])
1 (2, 3, 4, 5)
>>> tup[0] = 11 # 修改元组元素的操作是非法的
Traceback (most recent call last):
        File "<pyshell#21>", line 1, in <module>
        tup[0] = 11
TypeError: 'tuple' object does not support item assignment

元组的(,)不可省略

创建只有一个元素的元组,该元素后面的逗号不可忽略

>>> tup2 = (20,) #创建只有一个元素的元组,该元素后面的逗号不可忽略
>>> tup2
(20,)
>>> tup3 = (20)
>>> tup3
20

+操作符

元组是不可添加删除的。另外,元组也支持用+操作符。
>>> tup1, tup2 = (1, 2, 3), (4, 5, 6)
>>> print(tup1+tup2)
(1, 2, 3, 4, 5, 6)

元组的嵌套

添加元组  
>>> user = ('01','02','03','04')
>>> user = (user,'05')
>>> user
(('01', '02', '03', '04'), '05')

访问元组

访问一元元组
>>> user = ('01','02','03','04')
>>>user[0]
    '01'
>>>user[2]
'03'
访问二元元组
>>>user1 = (1,2,3)  
    >>>user2 = (4,5,6)  
    >>>user = (user1,user2)  
    >>>print(user[1][2])
    6

元组的内置函数

  • 内置函数
函数描述
len(tuple)计算元组元素个数。
max(tuple)返回元组中元素最大值。
min(tuple)返回元组中元素最小值。
tuple(list)将列表转换为元组。

解包

>>> user = (1,2,3)
>>> a,b,c = user    #变量个数要等于元组的长度
>>> a
1
>>> b
2
>>> c
3

集合(Sets)

集合(set)是一个无序不重复元素的集,基本功能是去重。

可以使用大括号或者set()函数创建set集合。

注意:创建一个空集合必须用 set()而不是{ },因为{ }是用来创建一个空字典>>> dic = {} #创建一个空字典

集合运算

>>> a = set('abracadabra')	#将字符串拆成集合
>>> a
{'b', 'd', 'r', 'a', 'c'}
>>> b = set('alacazam')    	#将字符串拆成集合
>>> b
{'l','m','z','a','c'}
>>> a-b                    	#从a中去除b的元素
{'b', 'd', 'r'}
>>> a|b                    	#a和b的并集
{'l','r','a','c','z','b','m','d'}
>>> a&b              		#提取 a和b的公共元素——交集
{'a', 'c'}
>>> a^b    #提取 a和b中不同时存在的元素(交集的补集,也叫对称差)
{'l','r','z','m','b','d'}

去重

集合有过滤重复元素的功能,自动将重复的元素删除。

    >>> set((2,2,2,4,4))
    {2, 4}

字典(Dictionaries)

特点

  • 字典是一种映射类型(mapping type),它是一个无序的“键: 值”对集合。每一个元素是pair,包含key、value两部分。key是Integer或string类型,value 是任意类型。即: {Key: Value}
>>> dic = {}    # 创建一个空字典
>>> dic_tel = {'Jack':1557, 'Tom':1320, 'Rose':1886}
        #创建一个字典
>>> print(dic_tel)
{'Tom': 1320, 'Rose': 1886, 'Jack': 1557}
【例2-5】打印通讯录
>>> name=["Ben","Jone","Jhon","Jerry","Anny","Ivy","Jan","Wong"]
>>> tel=[6601,6602,6603,6604,6605,6606,6607,6608]
>>> Tellbook={}  #创建一个空字典
>>> for i in range(len(name)):
        n1="{}".format(name[i])    #从name中取一个姓名
        t1="{}".format(tel[i])     #从tel中取一个电话
        Tellbook[n1]=t1    #再把d2这个号码赋值给字典Tellbook的d1键
>>> print(Tellbook)
{'Jan': '6607', 'Ben': '6601', 'Ivy': '6606', 'Anny': '6605', 'Wong': '6608', 'Jhon': '6603', 'Jone': '6602', 'Jerry': '6604'}
Tellbook['Wang'] = 3 
            #给键赋值,不管键是否存在,不存在则直接创建。
del Tellbook['Wong']     	# 删除一个键值对
Tellbook['Ben']          	#通过key查询对应的值
list(Tellbook.keys())    	# 返回所有key组成的list
list(Tellbook.values()) 	# 返回所有value组成的list
sorted(Tellbook.keys()) 	# 按key对字典排序
'Ben' in Tellbook         	# 成员测试
'Mary' not in Tellbook   	# 成员测试

构造函数 dict()

直接从键值对构建字典,如下:
>>> dict([('sape', 4139), ('guido', 4127), ('jack', 4098)])
{'guido': 4127, 'jack': 4098, 'sape': 4139}
>>> dict(sape=4139, guido=4127, jack=4098)
{'guido': 4127, 'jack': 4098, 'sape': 4139}

item()方法

Items()方法:将字典里的元素(一个键值对)转化为元组作为列表的一个元素。

>>> d= {'a':1, 'b':2, 'c':3}
>>> t= d.items()
>>> print(t)
    dict_items([('b', 2), ('c', 3), ('a', 1)])
>>> list(t)
    [('b', 2), ('c', 3), ('a', 1)]
>>> t=[('a',1),( 'b',2),( 'c',3)]
>>> d=dict(t)
>>> print(d)
{'b': 2, 'c': 3, 'a': 1}

update()方法

  • Update可以合并两个字典
>>> dict = {'Name': 'Zara', 'Age': 7}
>>> dict2 = {'Sex': 'female' }
>>> dict.update(dict2)
>>> dict
{'Age': 7, 'Sex': 'female', 'Name': 'Zara'}

tuple()方法

  • 用tuple作为键创建字典
>>> seq = ('name', 'age', 'sex')
>>> dict = dict.fromkeys(seq)  #给字典key赋值来自seq
>>> dict  #因为仅有key,没有vale,所以显示键值为空None
{'sex': None, 'age': None, 'name': None}
>>> dict = dict.fromkeys(seq, 10) #给字典键值对赋值,这里假设都赋10
>>> dict
{'sex': 10, 'age': 10, 'name': 10}

dictionary()方法

D.get(key,0)#同dict[key],多了个没有则返回指定的值(此处为0)
D.keys()#返回字典键的列表
D.values()#返回字典值的列表
D.items()#将字典转化为元组作为元素的一个列表
D.update(dict2)#合并字典,将dict2增加到当前的字典中
D.pop(key)#从字典中删除指定的键值对,键名这个参数必须有。
D.popitem()#没有参数则从字典中随机删除一个键值对。已空则抛异常
D.clear()#清空字典,不同于del
D.copy()#拷贝字典
Dict1=dict.copy()#克隆,即另一个浅拷贝,深拷贝则是deepcopy,如下例
  • 举例
>>> dict={'sex': 10, 'age': 10, 'name': 10}
>>> dict.get('sex', 'None')    #若没有sex键,则返回指定的None
    10

>>> dict.keys()      #要想获取键名列表,直接list(dict.keys())即可
    dict_keys(['sex', 'age', 'name'])

>>> dict.items()     #要想获取键值列表,直接tuple(dict.keys())即可
    dict_items([('sex', 10), ('age', 10), ('name', 10)])

>>> dict.pop('sex')       #删除sex键值对
    10
>>> dict
    {'age': 10, 'name': 10}
>>> dict['sex']=10    #增加键值对sex:10
>>> dict
    {'sex': 10, 'age': 10, 'name': 10}

>>> dict.popitem()  #随即删除一个键值对
('sex', 10)
>>> dict
{'age': 10, 'name': 10}

>>> dict1=dict.copy()  #复制(浅拷贝)一个字典,浅拷贝只对简单类型拷贝
>>> dict1
{'age': 10, 'name': 10}

>>> dict.clear()  #清空字典,不是删除字典,即得到一个空字典
>>> dict          #dict已经变成了一个空字典
{}

>>> import copy   #导入copy函数(或者是模块)
>>> dict=copy.deepcopy(dict1)   #深拷贝,将dict1拷贝给dict
>>> dict
{'age': 10, 'name': 10}

字典内置方法get()

>>>info={1:’first’,2:’second’,3:’third’}
>>>print(info.get(input(input your number:),’error’))
input your number:2
second

D.get(key,Name):表示字典D中若有key这个键,则返回其键值,否则,返回指定的值Name.

字典排序

在程序中使用字典进行数据信息统计时,由于字典是无序的,所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。

  1. 按“值”排序
可以使用内置的sorted()函数。
>>> dict={'班级': 1, 'age': 10, 'score': 10}
>>> sorted(dict.items(), key=lambda e:e[1], reverse=True)
[('score', 10), ('age', 10), ('班级', 1)]

说明:字典的items()函数返回的是一个列表,列表的每个元素是一个键和值组成的元组。sorted(dict.items(), key=lambda e:e[1], reverse=True)返回的值同样是由元组组成的列表。
其中e表示dict.items()中的一个元素,e[1]则表示按值排序。如果把e[1]改成e[0],那么则是按键排序,reverse=False可以省略,默认为升序排列。
  1. 按“键”排序

对字典进行按键排序也可以使用上面的sorted函数,只要改为sorted(dict.items(), key=lambda e:e[0], reverse=True)就可以了。不过除了这个方式之外,还可通过列表的排序来达到使字典有序的目的。
在这里插入图片描述

字典的函数


Tellbook.key(
Tellbook.values(
Tellbook.clear()
t2=Tellbook.copy()
t3=dict.fromkeys(('Alice','Leo'),8888)
Tellbook.get('Ben')
Tellbook.get
Tellbook.setdefault('Jan',666)

type()

函数

strip、rstrip、lstrip

>>> theString = 'saaaay yes or no yaaaass'
>>> print(theString.strip('say'))
yes or no 
>>> theString
'saaaay yes or no yaaaass'

lstrip和rstrip原理是一样的。注意:当没有传入参数时,默认去除首尾空格。

>>> theString = 'saaaay yes or no yaaaass'
>>> theString
'saaaay yes or no yaaaass'

>>> print(theString.strip('say') )
yes or no 
>>> theString.strip('say')
' yes or no '
>>> theString.strip('say ')
'es or no'
>>> theString.lstrip('say')
' yes or no yaaaass'
>>> theString.rstrip('say')
'saaaay yes or no '

Python中没有字符类型的说法,只有字符串。

1.  按某一个字符分割,如‘.>>> str = ('www.i-nuc.com')
>>> print(str)
www.i-nuc.com
>>> str_split = str.split('.')
>>> print(str_split)
['www', 'i-nuc', 'com']
2. 按某一个字符分割,且分割n次。如按‘.’分割1>>> str = ('www.i-nuc.com')
>>> str_split = str.split('.',1)
>>> print(str_split)
['www', 'i-nuc.com']
3. 按某一字符(或字符串)分割,且分割n次,并将分割完成的字符串(或字符)赋给新的(n+1个)变量。如:按‘.’分割字符,且分割1次,并将分割后的字符串赋给2个变量str1,str2
>>> url = ('http://inuc.xin')
>>> str1, str2 = url.split('.', 1)
>>> print(str1,str2)    #注意中文逗号
SyntaxError: invalid character in identifier
>>> print(str1,str2)
http://inuc xin 
>>> print(str1)
http://inuc 
>>> print(str2)
xin

divmod

返回商和余数是一个tuple。
Divmod(被除数,除数)=(商,余数)
>>> t = divmod(7,3)
>>> t
(2, 1)

或者:
>>> quot,rem = divmod(7,3)
>>> print(quot,rem)
2 1

join

join把一个list、tuple中所有的元素按照定义的分隔符连接起来,但限于元素是字符型。
语法: ‘sep’.join(seq)

>>> a = ['a','b','c']
>>> sep = '|'
>>> "|".join(a)
'a|b|c'

>>> s=('1','2','3')
>>> "|".join(s)
'1|2|3'
>>> c=[1,2,3]
>>> '|'.join(c)
Traceback (most recent call last):
File "<pyshell#50>", line 1, in <module>
'|'.join(c)
TypeError: sequence item 0: expected str instance, int found
>>> c=['1','2','3']
>>> '|'.join(c)
'1|2|3'

只能连接字符串

a=['a','b','c']
'|'.join(a)

方法一:

a="Python is a widely used high-level"
#分割为若干个单词
#用capitalize()方法装换
#再join回去
lst = a.split()
li = []
for word in lst:
li.append(word.capitalize())
' '.join(li)
print(li)

常用的函数(汇总)

函数名使用对象形式描述
strip()字符串theString.strip(‘say’)去掉字符串两边的空格
lstrip字符串theString.lstrip(‘say’)去掉字符串左边的空格
rstrip字符串theString.rstrip(‘say’)去掉字符串右边的空格
split()字符串str.split(‘.’,1) —— 如按‘.’分割1次对字符串进行分割
divmod()公式divmod(7,3)divmod(被除数,除数) 返回值:(商,余数)
join()字符串‘sep’.join(seq)split(),的逆操作
append()列表w.append(q) [1, 2, ‘L’, [8, 9]]元素添加到列表的结尾,相当于:a[len(a):]=[x]
extend()列表w.extend(q) [1, 2, ‘L’, [8, 9]]将一个给定列表中的所有元素,添加到另一个列表当中,相当于:a[len(a):]=L
insert()列表a.insert(1,‘love’)在index位置插入var
reverse()列表e.reverse()排序(倒序)
sort()列表a.sort() e.sort(reverse=True)排序(默认从小到大)
sorted()列表sorted(a)sorted(a)产生的是一个新列表,而a.sort()是对a直接排序了
pop()元组,列表,字典L.pop(index) ——输入索引默认删除最后一个元素
del()元组,列表,字典del L[1]、del L[1:3]——输入下标
remove()列表L.remove(var) ——输入元素删除第一次出现的var元素
dict()字典dict([(‘sape’, 4139), (‘guido’, 4127), (‘jack’, 4098)])构造函数
item()字典d.items()将字典里的元素(一个键值对)转化为元组作为列表的一个元素。
update()字典dict.update(dict2)Update可以合并两个字典
tuple()字典dict.fromkeys(seq, 10)用tuple作为键创建字典
dictionary()字典https://www.notion.so/384c69e4e3654340bcd76112048980bd#fd66eafb2d7a4637b4a3ced12b10c00c
get()字典D.get(key,Name)表示字典D中若有key这个键,则返回其键值,否则,返回指定的值Name.

锦囊!

排序:sort,sorted,reverse,reversed
增:lst[n:n]=[x]
删:a.pop(2)/a.pop(-2),del a[2]

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值