目录:
一.列表
1.列表的定义
(1)空列表
(2)索引
2.list的操作方法
(1)下标操作
- 索引->值:列表[索引]
- 值->索引:列表.index(值)
(2)增加数据
- 列表.append(数据)
- 列表.insert(索引,数据)
- 列表.extend(列表二)——等价于 +=
(3)删除数据
- 列表.remove(值)
- 列表.pop(索引) 默认删除列表最后一个元素
- 列表.clear() 清空列表,但列表仍存在
- del关键字
- 删列表元素:del 列表[索引]
- 删列表:del 列表
(4)统计
- len(列表) 统计列表的元素——字符串、元组、字典、集合也适用
- 列表.count(数据) 统计数据在列表中出现了几次
(5)排序
- 列表.sort() 升序排序
- 列表.sort(reverse = True) 降序排序
- 列表.reverse() 逆序
(6)循环 for in
二.字符串
1.定义
2.操作
(1)切片操作——也适用于列表和元组,不适用于字典
(2)大小写相关的操作
- 字符串.captitalize() 字符串的第一个字符变大写
- 字符串.title() 返回 每个单词的首字母大写的 字符串
- 字符串.upper() 全部大写
- 字符串.lower() 全部小写
- 字符串.istitle() 若所有单词首字母大写,其余小写,则返回真
(3)大小写操作练习——验证码
(4)查找 find和rfind
(5)替换 replace
(6)编码和解码 encode()和decode()
(7)查找练习——判断上传文件的格式
(8)join(合并)strip(去掉空格)split(切割)count(出现次数)
一.列表
1.定义
[Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 |
list_1 = [] # 空列表
list_2 = list () # 空列表
print ( type (list_1), type (list_2)) # <class 'list'> <class 'list'>
name_list = [ "张三" , "李四" , "王五" ]
# 索引
print (name_list[ 0 ])
# 超出索引范围,会报错 IndexError:list index out of range
# print(name_list[3])
# 查看每个元素的索引值
print ( id (name_list), id (name_list[ 0 ]), id (name_list[ 1 ]))
|
2.list的操作方法
(1)下标操作
- 索引->值:列表[索引]
- 值->索引:列表.index(值)
1 2 3 4 5 |
# 列表的下标操作
name_list = [ "zhangsan" , "wangwu" , "lisi" ]
name_list[ 2 ] = '王五'
print (name_list)
print (name_list.index( 'zhangsan' ))
|
(2)增加数据
- 列表.append(数据)
- 列表.insert(索引,数据)
- 列表.extend(列表二)——等价于 +=
01 02 03 04 05 06 07 08 09 10 11 12 13 14 |
# 增加数据
name_list.append( 'alex' ) # 在列表最后增加元素
print (name_list)
# 通过下标,插入元素
name_list.insert( 2 , 'Bob' ) # 原本之后的元素,往后移
print (name_list)
# extend 等价于 +=
name_list1 = [ '小猫' , '小狗' , 'zhangsan' ]
name_list.extend(name_list1)
print (name_list)
# name_list += name_list1
|
(3)删除数据
- 列表.remove(值)
- 列表.pop(索引) 默认删除列表最后一个元素
- 列表.clear() 清空列表,但列表仍存在
- del关键字
- 删列表元素:del 列表[索引]
- 删列表:del 列表
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |
# 删除元素
name_list.remove( 'alex' ) # 前提是列表里面有这个元素
print (name_list)
# .pop
name_list.pop() # 默认删除列表的最后一个元素
print (name_list)
name_list.pop( 1 ) # .pop(index)
print (name_list)
# .clear 清空列表,但列表还在
#name_list.clear()
print (name_list)
# del 关键字
del name_list[ 1 ] # 将 name_list[index] 从内存中删除
print (name_list)
# del name_list # 将 name_list 从内存中删除
|
(4)统计
- len(列表) 统计列表的元素——字符串、元组、字典、集合也适用
- 列表.count(数据) 统计数据在列表中出现了几次
1 2 3 4 5 6 7 8 |
# .len(列表) 统计列表的元素
# len Return the number of items in a container
# 字符串、列表、元组、字典、集合也适用
num = len (name_list)
print (num)
# .count(数据) 统计数据出现了几次
name_list.count( "zhangsan" )
|
(5)排序
- 列表.sort() 升序排序
- 列表.sort(reverse = True) 降序排序
- 列表.reverse() 逆序
1 2 3 4 5 6 7 8 9 |
# 排序
num_list = [ 3 , 2 , 7 , 6 , 8 , 5 , 1 , 4 ]
# .sort()升序排序
num_list.sort()
#num_list.sort(reverse=True) # 降序排序,true代表reverse生效,false代表不生效
print (num_list)
# .reverse() 逆序
num_list.reverse()
print (num_list)
|
(6)循环 for in
[Python] 纯文本查看 复制代码 ?
1 2 3 4 |
list_1 = [ "lala" , "miaomiao" , "kk" , "dd" , "lv" ]
for item in list_1:
print (item + ".docx" )
|
二.字符串
1.定义
[Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 |
# 值和id都一样
s1 = "abc"
s2 = 'abc'
s3 = """abc"""
s4 = '''abc'''
print (s1 is s2) # 比较id
print (s1 is s3)
print (s1 is s4)
print ( id (s1), id (s2), id (s3))
print (s1 = = s2)
print (s1 = = s3)
print (s1 = = s4)
# in 成员运算符
name = 'steven'
result = 'st' in name # 返回值是bool 类型 True False
print (result)
result = 'tev' not in name
print (result)
|
2.操作
(1)切片操作——也适用于列表和元组,不适用于字典
[Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 不仅适用于字符串,也适用于列表和元组,不适用于字典
filename = 'picture.png'
print (filename[ 6 ])
# 切片操作
# str[start:end:方向(+/-)/步长] +和 1都是默认的
print (filename[ 0 : 7 : + 1 ])
print (filename[: 7 : + 1 ]) # 起始值0可以省略
print (filename[: 7 ])
print (filename[: 7 : 2 ])
# 取负数值: 负数表示倒数第几个
print (filename[ 2 : - 1 ]) # 从第二个开始取值,取到倒数第一个之前
# [::]的用法:
print (filename[::]) # 正序输出
print (filename[:: - 1 ]) # 从右往左取值,即倒序输出
print (filename[ - 1 : - 5 : - 1 ]) # 不包含 -5
str1 = "hello world"
# 逆序输出 world
print (str1[ - 1 : - 6 : - 1 ])
# 正向输出 hello
print (str1[: 5 :])
# 逆序输出 hello world
print (str1[:: - 1 ])
# 打印 llo wo
print (str1[ 2 : 8 :])
|
(2)大小写相关的操作
- 字符串.captitalize() 字符串的第一个字符变大写
- 字符串.title() 返回 每个单词的首字母大写的 字符串
- 字符串.upper() 全部大写
- 字符串.lower() 全部小写
- 字符串.istitle() 若所有单词首字母大写,其余小写,则返回真
[Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 |
# 大小写相关
# capitalize() 字符串第一个字符变大写
message = "andy is a beautiful girl !"
message1 = message.capitalize()
print (message1)
# title() 返回 每个单词的首字母大写 的字符串
message2 = message.title()
print (message2)
# upper() 全部大写
message3 = message.upper()
print (message3)
# lower() 全部小写
message4 = message.lower()
print (message4)
# 如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False.
message5 = message.istitle()
print (message5)
|
(3)大小写操作练习——验证码
[Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 |
"""
根据系统提示输入验证码,不用考虑大小写
"""
# 产生一组验证码(5个字母或数字)
import random # 随机
codes = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890'
auth_code = ""
# print(len(codes))
for i in range ( 5 ): # range(12) 生成12位随机密码
rand = random.randint( 0 , len (codes) - 1 )
auth_code + = codes[rand]
print (auth_code)
# 根据验证码,自己输入,不用判断大小写
user_code = input ( "请输入五位验证码:" )
if auth_code.lower() = = user_code.lower():
print ( "输入正确" )
else :
print ( "验证码输入错误" )
|
(4)查找 find和rfind [Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 |
# 查找: find 和 rfind
# find(要查找的字符, start, end)
# 获取链接中的文件名
url = "http://www.baidu.com/img/bd_logo.png"
# 获取最右边“\” 的位置
a = url.rfind( '/' )
# 获取最右边“\” 的文件名
filename = url[a + 1 ::]
print (filename)
# 去掉扩展名
b = filename.rfind( '.' )
filename2 = filename[:b:]
print (filename2)
|
(5)替换 replace [Python] 纯文本查看 复制代码 ?
1 2 3 4 5 6 7 8 |
# 替换:replace
s1 = "index lucy lucky goods"
s2 = s1.replace( 'l' , 'L' ) # 把 l 替换成 L
print (s2)
s3 = s1.replace( 'l' , 'L' , 1 ) # 最多替换 1 次
print (s3)
s4 = s1.replace( ' ' , '')
print (s4)
|
(6)编码和解码 encode()和decode() [Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 |
# 编码 encode()
# 将文本类型的数据转换成二进制
# msg = "http://www.baidu.com/img/bd_logo1.png"
msg = "床前明月光"
msg1 = msg.encode(encoding = 'utf-8' )
print (msg1)
# 解码 decode() 用于人机交互
msg2 = msg1.decode()
print (msg2)
|
(7)查找练习——判断上传文件的格式 [Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 |
"""
练习:
给定一个路径,上传文件(记事本txt或者是图片.jpg,png)
如果不是对应格式的,允许重新执行上传文件
如果符合上传的规定则提示上传成功
"""
while True :
# 分析步骤
# 要上传的文件的路径 ---》文件名---》通过文件名再判断是否是图片类型
path = input ( "请输入文件:" ) # C:\Users\karl_\Desktop\text.txt
p = path.rfind( "." )
# print(p)
suffix = path[p + 1 :]
# print(suffix)
if suffix in [ 'txt' , 'jpg' , 'png' ]:
print ( '输入的格式正确' )
break
else :
print ( "格式不正确" )
|
(8)join(合并)strip(去掉空格)split(切割)count(出现次数) [Python] 纯文本查看 复制代码 ?
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# join strip split count
# join 合并
str1 = 'abc'
str2 = '_' .join(str1)
print (str2)
# strip 去掉空格
str3 = ' abcd '
print (str3)
str4 = str3.strip()
print (str4)
# 去掉前面(lstrip)或后面(rstrip)的 whitspace(空格、tab)
str5 = str3.lstrip()
str6 = str3.rstrip()
print (str5, str6)
# split 切割,切割后放到列表中
s = "hello world hello kitty"
result = s.split( " " )
print (result)
result1 = s.split( " " , 2 ) # 最多切两次
print (result1)
# count 出现次数
print (s.count( 'o' ))
|
标签:name,Python,数据类型,list,列表,print,字符串 From: https://www.cnblogs.com/chengfo/p/17038704.html