pythone笔记二

  1. 列表:插入元素
>>>phone=["摩托罗拉","诺基亚","三星","OPPO"]
>>>len(phone)

4

>>>phone.append("iPhone")
>>>len(phone)

5

>>>print(phone)

[‘摩托罗拉’, ‘诺基亚’, ‘三星’, ‘OPPO’, ‘iPhone’]

删除元素

team=["火箭","勇士","开拓者","爵士","鹈鹕","马刺","雷霆","森林狼"]
value="公牛"
if team.count(value)>0:#判断要删除的元素是否存在,count可以获取元素在列表中出现的次数
   team.remove(value)
print(team)

列表推导式
list=[Expression for var in range]
newlist=[Expression for var in list]
newlist=[Expression for var in list if condition]

  1. 元组,是不可变的序列,列表是可变的序列
num=(1,23,4,5,7)
#如果要创建的元组只包括一个元素,则需要在定义元组时,在元素的后面加一个“,”,否则创建的是一个字符串
verse1=("倒数",)
verse2=("倒数")
#创建元组另一种形式
team="火箭","勇士","开拓者","爵士","鹈鹕","马刺","雷霆","森林狼"
#创建空元组
emptytuple=()
untitle=('python',28,("人生苦短","我用Python"),['爬虫','自动化运维','云计算','Web开发'])
print("num的类型为",type(num),"    输出为:")
print(num)
print("verse1的类型为",type(verse1),"    输出为:")
print(verse1)
print("verse2的类型为",type(verse2),"    输出为:")
print(verse2)
print("team的类型为",type(team),"    输出为:")
print(team)
print("emptytuple的类型为",type(emptytuple),"    输出为:")
print(emptytuple)
print("untitle的类型为",type(untitle),"    输出为:")
print(untitle)

#输出为
num的类型为 输出为:
(1, 23, 4, 5, 7)
verse1的类型为 输出为:
(‘倒数’,)
verse2的类型为 输出为:
倒数
team的类型为 输出为:
(‘火箭’, ‘勇士’, ‘开拓者’, ‘爵士’, ‘鹈鹕’, ‘马刺’, ‘雷霆’, ‘森林狼’)
emptytuple的类型为 输出为:
()
untitle的类型为 输出为:
(‘python’, 28, (‘人生苦短’, ‘我用Python’), [‘爬虫’, ‘自动化运维’, ‘云计算’, ‘Web开发’])

元组是不可变序列,所有不能对它的单个元素值进行修改。但可以对元组进行重新赋值。

player=('A罗','B罗','E罗','D罗','F罗')
print("原元组: ",player)
player=('A罗','B罗','C罗','D罗','E罗')
print("新元组: ",player)
player1=player+('F罗',)
print("组合后: ",player1)

#输出
原元组: (‘A罗’, ‘B罗’, ‘E罗’, ‘D罗’, ‘F罗’)
新元组: (‘A罗’, ‘B罗’, ‘C罗’, ‘D罗’, ‘E罗’)
组合后: (‘A罗’, ‘B罗’, ‘C罗’, ‘D罗’, ‘E罗’, ‘F罗’)

元组的推导式:

import  random
randomnnumber=(random.randint(10,100) for i in range(10))
#元组推导式生成的结果并不是一个元组或列表,而是一个生成器对象,转换需要使用tuple()函数、list()
print("生成的元组为: ",randomnnumber)
randomnnumber=tuple(randomnnumber)
print("转化后: ",randomnnumber)

生成的元组为:
转化后: (78, 45, 12, 58, 55, 32, 82, 27, 82, 64)

元组的遍历:

#从下面的例子可以看出遍历后的原生成器对象已经不存在
number=(i for i in range(3))
print(number.__next__())
print(number.__next__())
print(number.__next__())
number=tuple(number)
print("转化后: ",number)

number=(i for i in range(4))
for i in number:
    print(i,end=" ")
number=tuple(number)
print("转化后: ",number)

0
1
2
转化后: ()
0 1 2 3 转化后: ()

  1. 字符串
    字符串长度:
str1='人生苦短,我用Python!'
length=len(str1)#字符串的长度为14
print(length)
length=len(str1.encode())#计算UTF-8编码长度:汉字加,号共7个,占21个字节,英文字母和英文标点符号占7个字节,共28个字符
print(length)
length=len(str1.encode('gbk'))#计算GBK编码:汉字加,号共7个,占14个字节,英文字母和英文标点符号占7个字节,共21个字符
print(length)

分割字符串:str.split(sep,maxsplit)
检索字符串: str.count(sub[,start[,end]])
str.find(sub[,start[,end]])
print(sub in str)#输出True表示sub在str中否则False
str.index(sub[,start[,end]])
str.startswith(sub[,start[,end]])#用于检索是否以指定字符串开头
str.endswith(sub[,start[,end]])
去除字符串中的空格和特殊字符:str.strip([chars])
str.lstrip([chars])
str.rstrip([chars])
格式化字符串:使用“%”操作符:’%[-][+][0][m][.n]格式字符’%exp #exp为元组

template='编号:%09d\t公司名称: %s\t官网: http://www.%s.com'
context1=(7,'百度','baidu')
context2=(8,'淘宝','taobao')
print(template%context1)
print(template%context2) 

编号:000000007 公司名称: 百度 官网: http://www.baidu.com
编号:000000008 公司名称: 淘宝 官网: http://www.taobao.com

使用字符串对象的format()方法:str.format(args) #str用于指定字符串的显示样式,args用于指定要转换的项
模板(str)的基本格式:{[index][:[[fill]align][sign][#][width][.precision][type]]}

template='编号:{:0>9s}\t公司名称: {:s}\t官网: http://www.{:s}.com'
context1=template.format('7','百度','baidu')
context2=template.format('8','淘宝','taobao')
print(context1)
print(context2)

编号:000000007 公司名称: 百度 官网: http://www.baidu.com
编号:000000008 公司名称: 淘宝 官网: http://www.taobao.com

  1. 使用re模块实现正则表达式操作:
    re.match(pattern,string,[flags]) re.search(pattern,string,[flags]) re.findall(pattern,string,[flags])
    re.sub(pattern,repl,string,count,flags) re.split(pattern,string,[maxsplit],[flags])

你可能感兴趣的:(python)