1.字符串

1.1 字符串相加

s1 = "	ale  x  "
s2 = " sb "
print(s1 + s2) #识别空格
print(s1.strip() + s2.strip()) ale x sb
ale xsb

1.2 字符串相乘

s1 = "alex  "
print(s1 * 5) alex alex alex alex alex note:str*int

1.3 字符串索引、切片

字符串索引,从0开始,空格也会输出

s = "chun tian lai le "
print(s[0],type(s[0]))
print(s[4],type(s[4]))
print(s[-1],s[-2]) -1是最后一个元素

字符串切片[起始索引:结束索引+1:步长],顾首不顾尾,所以结束索引+1

s = "chuntianlaile"
print(s[::2])
print(s[::-1]) cutalie
elialnaitnuhc

1.4 字符串常用方法

1.4.1 **capitalize 首字母大写其余字母小写

s = 'alexWUsir'
s1 = s.capitalize()
print(s1) Alexwusir

1.4.2 **swapcase 大小写翻转

s = 'alexWUsir'
s2 = s.swapcase()
print(s2) ALEXwuSIR

1.4.3 *title 非字母隔开的每个单词的首字母大写

s = 'alex wusir*taibai2ritian'
s3 = s.title()
print(s3) Alex Wusir*Taibai2Ritian

1.4.4 **center 设置总长度,并居中

s = 'alex wusir*taibai2ritian'
s4 = s.center(30,)
s4 = s.center(50,'*')
print(s4) *************alex wusir*taibai2ritian*************

1.4.5 *** upper() lower() 全部大写、全部小写

验证码忽略大小写
code = 'AwEqr'
username= input('请输入用户名:')
your_code = input('请输入验证码:')
if username == 'alex' and your_code.upper() == code.upper():
print('验证成功')

1.4.6 ***startswith endswith

s = 'alexWUsir'
s6 = s.startswith('a')
print(s6)
True s7 = s.startswith('alex')
True s8 = s.startswith('WU', 4,) 选择索引位置开始
True

1.4.7*** strip()、lstrip(),rstrip() 默认去除字符串前后的空格,换行符,制表符;去除的元素可自定制。

ss = 'abclaonanhaiq'
ss1 = ss.strip('abqc')
print(ss1) laonanhai 首尾都删除,没有匹配到abqc中的任何一个,就停止。 username = input('>>>').strip()
password = input('>>>').strip()
if username == '老男孩' and password == '123':
print('登录成功')

1.4.8*** replace

s = 'alex 分甘共苦老地方 alex 风刀霜剑卡乐芙'
s8 = s.replace('alex', 'SB')
s9 = s.replace('alex', 'SB',1) 1是次数,替换一次。2 就是两个alex都替换了。
print(s9) SB 分甘共苦老地方 alex 风刀霜剑卡乐芙

1.4.9 ***split() 分隔 str ---> list

s = "   www.cctv.com,www.cntv.com,www.news.cn   \t"
s1 = s.strip().split(',')
print(s1) ['www.cctv.com', 'www.cntv.com', 'www.news.cn'] l1 = s1.split() 默认以空格分隔
s1 = s.strip().split(',',1) 数字是分割次数,分割1次

1.4.10***join list---> str

li = ['www.cctv.com', 'www.cntv.com','www.news.cn']
a = '... '.join(li)
print(a) www.cctv.com... www.cntv.com... www.news.cn

1.4.11***find index 通过元素找索引

find找不到会返回-1
index找不到会报错 s = 'alexwausir'
s11 = s.find('ex')
2 s = "123456789123456789123456789"
a = s.find("9",1,10)
print(a) 查找索引1开始到10之间的第一个出现的字符串9,后边重复的不算。

1.4.12***format

第一种用法

s = "我叫{},今年{},爱好{}"
s12 = s.format('太白', '25', '女')
print(s12)

第二种用法

s1 = "我叫{0},今年{1},爱好{2},我依然叫{0}"
s13 = s1.format('太白', '25', '女')
print(s13) 复用

第三种用法

s3 = "我叫{name},今年{age},爱好{hobby}"
s14 = s3.format(age=25,hobby='girl',name='太白')
print(s14) 乱序

公共方法

s = "aabbccdd"
print(len(s)) 长度
print(s.count("a")) 元素“a”出现的次数 8
2

is系列

name = '123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成 True
False
True

int、str、bool转换

int --> str

s = 123
print(s,type(s))
s1 = str(s) 或者s1 = str(123)
print(s1,type(s1))

str --> int

s = "123"
print(s,type(s))
s1 = int(s)
print(s1,type(s1))

int --> bool

0是False,非0是True

bool --> int

True是1,False是0

str--> bool

空是False,非空是True,空格也是True

str ---> list

split

list --> str

join

格式化输出

利用三引号,实现表格形式

print("""
欢迎登陆{}
{}{}{}
{} {} {}
""".format("1","2","3","4","2","3","4"))

and or not

1,前后都是比较运算

优先级:() > not > and > or
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)

2,前后都是数字

0 是False  非0 都是True

2 列表

2.1 取值

2.1.1 按照索引取值

按照索引取值,取出来的元素保持其原有的任何属性(与元素本身的数据类型一致)

2.1.2 按照切片取值

按照切片取值,取出来的是小列表

li = ["alex", "wusie","hou","22","33"]
l1 = li[::2]
print(l1) ['alex', 'hou', '33']

2.2 增

append() 最后追加

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.append([1, 2, 3])
print(l) ['WuSir', 'alex', 'OldBoy', 'barry', [1, 2, 3]]

insert 根据索引插入

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.insert(1, '葫芦')
print(l) ['WuSir', '葫芦', 'alex', 'OldBoy', 'barry

extend 将可迭代对象按最小元素添加

l.extend([1, '2122', 56])
print(l) ['WuSir', 'alex', 'OldBoy', 'barry', 1, '2122', 56]

2.3 删

pop 按照索引删除

l = ['WuSir', 'alex', 'OldBoy', 'barry']
print(l.pop(0))
print(l) WuSir pop有返回值
['alex', 'OldBoy', 'barry']

remove 按照元素删除

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l.remove("alex")
print(l)

clear 清空列表

l.clear()
print(l)

del 删除列表;按照索引删除,按照切片删除

del l
print(l) del l[1]
print(l) del l[:3]
print(l) l = [11, 22, 33, 44, 55]
del l[1::2]
print(l) [11, 33, 55]

2.4 改

按照索引改

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l[0] = "houbinglei"
print(l)

按照切片去改,改的是那一片区域,有点类似extend,将新的最小元素插入。理解最小元素。

l = ['WuSir', 'alex', 'OldBoy', 'barry']
l[:2] = ["01","02","123",456,[123,456]]
print(l) ['01', '02', '123', 456, [123, 456], 'OldBoy', 'barry']

2.5 查

按照索引、切片、切片+不长查

for 循环遍历查

 for i in l:
print(i)

2.6 列表其他方法

print(len(l))  总个数

print(l.count('WuSir'))   某个元素出现的次数

l1 = [1, 9, 8, 4, 3, 2, 6,]
l1.sort() 正序排序
print(l1) l1.sort(reverse=True) #倒叙排序
print(l1) l1.reverse() 翻转
print(l1)

2.7 列表的嵌套

l1 = [1, 2, 'alex', ['WuSir', 'taibai', 99], 6]
l1[-2][0] = l1[-2][0].upper()
l1[-2][-1] = str(l1[-2][-1] + 1)
print(l1) [1, 2, 'alex', ['WUSIR', 'taibai', '100'], 6]

2.8 元组(tuple)和range

元祖。只读的列表

tu1 = (1, 2, [1, 3,], 4)
tu1[2].append(666)
print(tu1) 只是不能修改元祖的最小元素。
tu = (1, 2, 33, 'alex')
print(tu[:-1]) (1, 2, 33) -1是不能取到alex,切片不顾尾

range,一种数字组成的特殊列表

for i in range(1,10,2):
print(i) 默认从0开始,不顾尾,2是步长

列表增删改查,3424

3 字典

3.1 增

根据key增加

dic['hobby'] = 'old_girl'   无责增加,有责修改。
dic['name'] = 'alex'
print(dic)

setdefault()方法增加

默认没有添加,有的话不修改,默认值是None
dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
} dic.setdefault("love",)
print(dic) dic.setdefault('high', 169)
print(dic) {'name': '老男孩', 'age': 10000, 'sex': '男', 'love': None}
{'name': '老男孩', 'age': 10000, 'sex': '男', 'love': None, 'high': 169}

3.2 删

pop 根据key删除

dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
}
print(dic.pop("name1",'没有这个键'))
print(dic.pop("name"))
print(dic) dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
}
print(dic.pop("name1",'没有这个键')) 可以设定返回值
print(dic.pop("name"))
print(dic)

popitem() 3.6 之前是随机删除

clear

dic.clear()
print(dic)

del 删除整个字典; 按照键去删除键值对

del dic
print(dic)
del dic['name']
print(dic)

3.3 改

根据键改

update()方法

dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
}
dic1 = {}
print(dic1)
dic1.update(dic)
print(dic1) {}
{'name': '老男孩', 'age': 10000, 'sex': '男'}

3.4 查

根据key查,没有会报错

根据get()方法

dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
}
dic1 = {}
print(dic["name"])
print(dic.get("name1","meiyou")) 老男孩
meiyou 不设置,默认返回None,不报错

for 循环 三种

dic = {
'name': '老男孩',
'age': 10000,
'sex': '男',
}
for k in dic.keys():
print(k) name
age
sex 分别赋值原理:
a, b = 1 ,3
a, b = [22, 33]
print(a,b)
for k, v in dic.items():
print(k, v)

补充:

循环列表、字典是最好不要改变其本身得结构,比如删除操作;

fromkeys()方法,创建一个新得字典

seq = ('name', 'age', 'sex')

dict = dict.fromkeys(seq)
print "New Dictionary : %s" % str(dict) dict = dict.fromkeys(seq, 10)
print "New Dictionary : %s" % str(dict) New Dictionary : {'age': None, 'name': None, 'sex': None}
New Dictionary : {'age': 10, 'name': 10, 'sex': 10} 每个值都是10

day02_雷神_字符串、列表、字典的更多相关文章

  1. python字符串/列表/字典互相转换

    python字符串/列表/字典互相转换 目录 字符串与列表 字符串与字典 列表与字典 字符串与列表 字符串转列表 1.整体转换 str1 = 'hello world' print(str1.spli ...

  2. 初识python 字符串 列表 字典相关操作

    python基础(一): 运算符: 算术运算: 除了基本的+ - * / 以外,还需要知道 :  // 为取整除 返回的市商的整数部分 例如: 9 // 2  ---> 4  , 9.0 //  ...

  3. python之字符串,列表,字典,元组,集合内置方法总结

    目录 数字类型的内置方法 整型/浮点型 字符串类型的内置方法 列表的内置方法 字典的内置方法 元组的内置方法 集合类型内置方法 布尔类型 数据类型总结 数字类型的内置方法 整型/浮点型 加 + 减 - ...

  4. Python笔记【5】_字符串&列表&元组&字典之间转换学习

    #!/usr/bin/env/python #-*-coding:utf-8-*- #Author:LingChongShi #查看源码Ctrl+左键 #数据类型之间的转换 Str='www.baid ...

  5. python字符串列表字典相互转换

    字符串转换成字典 json越来越流行,通过python获取到json格式的字符串后,可以通过eval函数转换成dict格式: >>> a='{"name":&qu ...

  6. python字符串,列表,字典的常用方法

    本篇内容 字符串的常用方法 列表的常用方法 字典的常用方法 字符串的常用方法 center 字符居中显示,指定字符串长度,填充指定的填充字符 string = "40kuai" p ...

  7. int bool 字符串 列表 字典 集合

    1.int和bool 输出i的最大二进制位数inti = 1000 print(i.bit_length()) 2. str int bool list set dict  tuple 相互转换 pr ...

  8. python 字符串 列表 字典 常用方法

    今天学习内容如下: 1.学习昨天练习题目的解题新方法 #1.使用while循环输入 1 2 3 4 5 6 8 9 10 ''' count = 0 while count < 10: coun ...

  9. python中的字符串 列表 字典

    字符串     一个有序的字符集合  不可变 1,可以使用for in语句进行迭代循环,返回元素    2,in类是于str.find()方法但是是返回布尔结果        str.find()返回 ...

随机推荐

  1. maven 单元测试 ( http://www.cnblogs.com/qinpengming/p/5225380.html )

     对junit单元测试的报告:类似这样的结果 ------------------------------------------------------- T E S T S ----------- ...

  2. Luogu 1764 翻转游戏 - 枚举 + 搜索

    题目描述 kkke在一个n*n的棋盘上进行一个翻转游戏.棋盘的每个格子上都放有一个棋子,每个棋子有2个面,一面是黑色的,另一面是白色的.初始的时候,棋盘上的棋子有的黑色向上,有的白色向上.现在kkke ...

  3. [Robot Framework] 通过RemoteWhiteLibrary启动程序并登录初尝试

    启动remote whitelibrary之后,在robot framework中配置好library,就可以调用whitelibrary的关键字了 启动APP White.LAUNCHAPP    ...

  4. Tomcat+Redis+Nginx实现session共享(Windows版)

    redis安装:xx nginx安装:xx 步骤: 1.下载tomcat-redis-session-manager相应的jar包,主要有三个: wget https://github.com/dow ...

  5. sql条件查询-日期比较(取年月部分)

    查询当年当月的数据: select * from compalete_task where to_Char(create_date,'yyyyMM') = to_Char(sysdate,'yyyyM ...

  6. Bootstrap的起步

    -- Bootstrap的起步部分是对Bootstrap的基本了解,有些细节只是在后面的完善时候需要详细阅读. 最基本点还是Css 和组件部分,这部分应该先进行练习....高级阶段是Javascrip ...

  7. asp.net query string 及 form data 遇到的编码问题

    当遇到此问题时,脑海里闪过的第一个解决方案是设置 web.config 的编码.但一想,就某一个页面的需求而导致其他跟着妥协,不是好的解决方案.于是网上搜索答案,下面做个小分享,遗憾的是研究不够深入, ...

  8. 在win8 App中,StorageFile比Path更好用

    Skip the path: stick to the StorageFile: http://blogs.msdn.com/b/wsdevsol/archive/2012/12/05/stray-f ...

  9. java struts2 的 文件下载

    jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco ...

  10. 20155312 2016-2017-2 《Java程序设计》第九周学习总结

    20155312 2016-2017-2 <Java程序设计>第九周学习总结 课堂内容总结 两个类有公用的东西放在父类里. 面向对象的三要素 封装 继承 多态:用父类声明引用,子类生成对象 ...