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. Android.Tools.Ant

    ant 1. ant手册翻译 ant手册翻译是一项大工程!!!!!! ant在线手册的链接好不明确. 2. ant 支持for循环 安装ant-contrib Ref[1.1]. 要在ant的buil ...

  2. python中的迭代器 生成器 装饰器

    什么迭代器呢?它是一个带状态的对象,他能在你调用next()方法的时候返回容器中的下一个值,任何实现了__iter__和__next__()(python2中实现next())方法的对象都是迭代器,_ ...

  3. Linux 中的文件锁

    参考资料: https://www.ibm.com/developerworks/cn/linux/l-cn-filelock/index.html

  4. JSP概述、API、注释

    JSP自带的API包含4个包,可通过Tomcat的官网查看,JSP和EL的API是分开的 javax.servlet.jsp // 包含用于Servlet/JSP容器将JSP页面翻译为Servlet的 ...

  5. Spring 属性注入(一)JavaBean 内省机制在 BeanWrapper 中的应用

    Spring 属性注入(一)JavaBean 内省机制在 BeanWrapper 中的应用 Spring 系列目录(https://www.cnblogs.com/binarylei/p/101174 ...

  6. mysql8.0.4以后修改密码方式变更

    https://blog.csdn.net/qq_38265784/article/details/80915098 use mysql: ALTER USER 'root'@'localhost' ...

  7. Two Sum IV - Input is a BST LT653

    Given a Binary Search Tree and a target number, return true if there exist two elements in the BST s ...

  8. windows mysql 主从热备

    环境说明:   Master:192.168.1.200 Slave:192.168.1.210     MySQL 的 Master 配置:   配置my.ini:   [mysqld]   # T ...

  9. Java环境编写

    首先安装jdk,本系统中jdk安装在D:\jdk:jre安装在D:\Jre: 然后开始配置环境变量: JAVA_HOME:D:\jdk; JRE_HOME:D:\jre; CLASSPATH:.;%J ...

  10. TabControl中显示和隐藏TabPage页

    在使用TabControl控件时,希望隐藏其中某个选项卡(即TabPage).TabPage类明明提供了一个Hide方法,用在代码中却没有任何效果,甚是奇怪.无奈之余,只好考虑另辟途径 方法一: 设置 ...