python第二次笔记

字符串

  • replace() 替换指定字符串
name = 'hello work haha'
 new_name = name.replace('ha','Ha',1)
print(new_name)
 price = '¥'
 price.replace('¥','')
print(price)
  • split() 以str为分隔符分割name,如果maxsplit指定值,那么仅分割maxsplit个字符串
name = 'hello work ha ha'
name_list = name.split(" ")
print(name_list)
name_list1 = name.split(" " , 2)
print(name_list1)
  • capitalize() 把字符串单词首字母大写
name1 = name.capitalize()
print(name1)
  • title() 把字符串每个单词首字母大写
name2 = name.title()
print(name2)
  • startwith() 检测字符串是否以str开头
name3 = name.startswith('hello')
print(name3)
name4 = name.startswith('Hello')
print(name4)
  • endswith() 检测字符串是否以str结尾
name5 = name.endswith('cpp')
print(name5)
  • upper() 把字符串的所有变为大写
name6 = name.upper()
print(name6)
  • lower() 把字符串的所有变为小写
name7 = name6.lower()
print(name7)
  • ljust() 返回一个字符串的左对齐,并用空格填充width的长度
my_str_space = 'hello'
new_my_str_space = my_str_space.ljust(10)
print(new_my_str_space)
  • rjust() 返回一个字符串的右对齐,并用空格填充width的长度
my_str_space = 'hello'
new_my_str_space = my_str_space.rjust(10)
print(new_my_str_space)
  • center() 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格
my_str_space = 'hellollggg'
my_str_space1 = my_str_space.center(50)
print(my_str_space1)
print(len(my_str_space1))
  • lstrip() 去除左空格
print(my_str_space1)
print(len(my_str_space1))
new_str_space = my_str_space1.lstrip()
print(new_str_space)
  • rstrip() 去除右空格
new_str = new_str_space.rstrip()
print(len(new_str))
print(new_str)
  • strip() 删除两端空格
  • find()---->rfind() 返回字符串最后一次出现的位置(从右向左查询),如果没有匹配项则返回-1
index = my_str_space.rfind('neuedu')
print(index)
  • index()---->rindex() 返回子字符串 str 在字符串中最后出现的位置,如果没有匹配的字符串会报异常
  • partition() 从左把my_str_space以str分割成3部分,str前、str、str后
print(my_str_space)
t_mystr = my_str_space.partition('ll')
print(t_mystr)#元组
  • rpartition() 从右开始把my_str_space以str分割成3部分,str前、str、str后
  • splitlines() 按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
line = 'hello\nworld'
print(line)
list_line = line.splitlines()
print(list_line)
  • isalpha() 判断字符串是否都是字母
  alpha = my_str_space.isalpha()
  print(alpha)
  alpha2 = 'dddddd'
  alpha3 = alpha2.isalpha()
  print(alpha3)
  • isdigit ()判断字符串是否都是数字
  • isalnum() 判断是否只有字母或者数字
alpha2.isalnum()
  • isspace() 判断是否只有空格
  • join() 将列表中的元素以前缀连接,转化为字符串
str4 = "  "
list1 = ['my','name','is','skowsd']
my_name = str4.join(list1)
print(my_name)
my_name = '_'.join(list1)
print(my_name)
  • 字符串的常用操作
 print(dir(''))
 print(dir([]))

列表

相似于数组,但可以存储不同类型的数据,可变长。

name_list = ['鲁班','xiaoming',1024]
print(name_list)
print(type(name_list))
  • 访问 按下标访问
print(name_list[0])
  • 遍历
for name in name_list:
    print(name)
i = 0
while i < len(name_list):
    print(name_list[i])
    i += 1

列表相关操作

  • 添加操作
print('添加前',name_list)
str = input('请输入您要添加的内容')
name_list.append(str)
print(name_list)
print('添加后',name_list)
list1 = []
for i in range(10):
    list1.append(i)
print(list1)
  • insert() 在指定位置index前插入元素object
a = [0,1,2]
a.insert(1,10)
print(a)
  • extend() 可以将另一集合逐一添加到列表中
a = [1,2]
b = [3,4]
a.append(b)
print(a)
a.extend(b)
print(a)
  • 修改 按下标直接修改
name_list[1] = '小明'
print(name_list)
  • 查找 in not in
find_name = '小明'
if find_name not in name_list:
    print('小明在列表中')
else:
    print('不在')
  • index() 从列表中找出某个值第一个匹配项的索引位置
a = ['a','b','c','a','b']
index1 = a.index('a',1,4)# 左闭右开
print(index1)
  • count()统计某个元素在列表中出现的次数
counts = a.count('b')
print(counts)
  • 删除
  • del:根据下标进行删除
print(name_list)
del name_list[0]
print(name_list)
  • pop:删除最后一个元素
name_list.pop()
print(name_list)
  • remove:根据元素的值进行删除
name_list.remove('xiaoming')
print(name_list)
  • 列表的排序
from modename import name1, name2
from random import randint
num = randint(-10,10)
print(num)
num_list = []
for _ in range(10):
    num_list.append(randint(-10,10))
print(num_list)
num_list.sort()
print('正序',num_list)
num_list.sort(reverse=True)
print('逆序',num_list)
new_list = sorted(num_list)
print(num_list)
print(new_list)

区别
.sort() 对原来的列表进行修改排序 .sorted() 返回新的对原来的没有改变
.sort() 属于列表的成员函数 .sorted() 对所有可迭代对象进行操作
ls.sort(key reverse) sorted(ls)

  • 列表的嵌套 列表里面还有列表
school_name = [['清华','北大'],['南开','天大'],['东秦','燕山']]
print(school_name)
print(school_name[0][1])
print(school_name[0,1])
  • 列表推导式 轻量级循环创建列表
list1 = []
for _ in range(10):
    list1.append('不给我看你发到是')
print(list1)
from random import randint
list2 = [i for i in range(2 , 15 , 2)]
print(list2)
list3 = ['发过来快就是你发到刚' for _ in range(5)]
print(list3)
  • 生成10个元素,范围在【-10,10】
from random import randint
l = [randint(-10,10) for _ in range(10)]
print(l)
  • 选出大于等于0的区域
res = []
for x in l:
    if x >= 0:
        res.append(x)
print('使用for循环筛选:',res)
  • 循环的过程中使用if
res2 = [x for x in l if x >= 0]
print('使用列表解析筛选:',res2)
  • 列表转化成字符串
my_list = ['Welcom','to','ML','World']
my_list_to_str = str(my_list)
print(my_list_to_str)
print(' '.join(my_list))
  • 列表和字符串的 *
str1 = 'hehe'*3
print(str1)
list4 = ['6',9,0,3.14]*5
print(list4)
number = [i for i in range(11)]
print(number)
list5 = []
for x in number:
    if x%2 == 0:
        list5.append(x)
print(list5)
list6 = [x for x in number if x%2 ==0]
print(list6)

元组

a = ('ddd',111,0.88)
#tuple
print(type(a))
#序列: 列表、字符串、元组
#访问 按下标访问
print(a[0])
#元组元素不能修改、删除
  • index() count() 参照列表
a = ('a','b','c','b','a')
index1 = a.index('a')
cnt = a.count('b')
print(cnt)
  • 单元素元组后有逗号
b = (100,)*3
print(b)
print(type(b))
  • 同时遍历两个列表
  • zip() 用于将 可迭代对象作为参数,将对象中的对应元素打包成一个元组,然后返回这些元组对象,以节约内存
a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
zipped = zip(a,b)
print(zipped)
print(list(zipped))
  • 长度不一致,与最短的对象相同
zipped1 = zip(a,c)
print(list(zipped1))
heros = ['后羿','安琪拉']
skills = ['惩戒之箭','烤串']
for hero,skill in zip(heros,skills):
    print(hero,'----->',skill)

字典 key ---> value

info = {'name':'刘强东','age':45,'id':'32435345345345','addr':'北京'}
#访问 根据键进行访问
print(type(info))
print(info['name'])
#访问不存在的键会报错
print(info['sex'])
  • 当我们不确定字典中是否存在某个键,而且还要获取其value,可以使用get()
age = info.get('age',89)
print(age)
mail = info.get('mail','111121@jingdong.com')
print(mail)
  • 修改
info['name'] = '马云'
print(info)
  • 添加
info['sex'] = '男性'
print('添加后',info)
  • 删除操作
  • del根据key删除
del info['name']
print('删除后',info)
del info
print('删除后',info)
info.clear()
print('clear后',info)
  • 字典的常用操作
  • key - value 的个数
info = {'name':'刘强东','age':45,'id':'32435345345345','addr':'北京'}
print(len(info))
  • 获取info的key和value
keys = info.keys()
values = info.values()
print(keys)
print(values)
  • items() 以列表返回可遍历的(键, 值) 元组数组
item = info.items()
print(item)
  • 使用for循环进行遍历
for key,value in info.items():
    print(key,'---->',value)

集合

#无序的 元素唯一
#用于元组和列表中的元素去重
#定义一个集合
# set1 = set(str)
set1 = {1,2,3,45,4}
print(type(set1))
  • 添加
set1.add(8)
print(set1)
  • 删除 删除没有的元素会报错
set1.remove(2)
print(set1)
  • pop 随机删除集合中的元素 集合为空则报错
set1.pop()
print(set1)
  • discard 存在直接删除,不存在则不做任何操作
set1.discard(2)
print(set1)
  • 字典解析
#创建班级的分数
from random import randint
grades = {'student{}'.format(i):randint(50,100) for i in range(1,21)}
print(grades)
#筛选出高于90分的人
d = { key:value for key,value in grades.items() if value>=90}
print(d)
  • 集合解析
set1 = {randint(0,20) for _ in range(0,20)}
print(set1)
#找到被3整除的
res = {x for x in set1 if x%3 == 0}
print(res)

函数

# def 函数名(形参):
#     pass
# 函数名(实参)
def caculateNumble(num):
    """
    计算1——num间的累加和
    :param num: 累加和的末尾
    :return: 累加和
    """
    res = 0
    for i in range(1,num+1):
        res += i
    return res
res = caculateNumble(100)
print(res)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容