首页 > 其他分享 >非数据类型变量:列表和字符串

非数据类型变量:列表和字符串

时间:2023-01-09 22:34:53浏览次数:54  
标签:name Python 数据类型 list 列表 print 字符串

目录:
一.列表
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(值)
[Python] 纯文本查看 复制代码 ?
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(列表二)——等价于 +=
[Python] 纯文本查看 复制代码 ?
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 列表
[Python] 纯文本查看 复制代码 ?
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(数据) 统计数据在列表中出现了几次
[Python] 纯文本查看 复制代码 ?
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() 逆序
[Python] 纯文本查看 复制代码 ?
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 in range(5):                      # range(12) 生成12位随机密码     rand = random.randint(0len(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" # 获取最右边“\” 的位置 = url.rfind('/') # 获取最右边“\” 的文件名 filename = url[a+1::] print(filename) # 去掉扩展名 = 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       = 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 切割,切割后放到列表中 = "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

相关文章

  • 字符串函数(day21)
    strcpy函数char*strcpy(char*dst,constchar*src){if((dst==NULL)||(src==NULL))returnNULL;//如果有空指针存在,返回空指针char*ret=dst;//【1】设......
  • ES6-其他数据类型的解构赋值
    一.字符串的解构赋值1.以数组形式解构赋值const[a,,,b,c]='hello';console.log(a,b,c);//hlo2.以对象形式解构赋值//为什么字符串可......
  • Python笔记(3)——列表二:操作列表(Python编程:从入门到实践)
    一、遍历列表1. 遍历整个列表:使用for循环1colors=['red','yellow','blue','green']#定义列表2forcolorincolors:#使用循环:从列表中提取一个元素并将其存......
  • 003 python一个整数或byte数据转为十六进制字符串不带0x
    把一个byte数据转化为字符,例如byte数据为05,要转换为十六进制字符串hexstr,不带0xd=5hs=((str(hex(d)))[2:]).zfill(2)如上,hs为转换后的字符串。原理就是先用hex转化......
  • 刷刷刷Day8| 剑指 Offer 58 - II. 左旋转字符串
    剑指Offer58-II.左旋转字符串LeetCode题目要求字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比......
  • Redis 数据结构-简单动态字符串
    Redis数据结构-简单动态字符串 无边落木萧萧下,不尽长江滚滚来。 1、简介Redis之所以快主要得益于它的数据结构、操作内存数据库、单线程和多路I/O......
  • Redis-数据结构与对象-压缩列表
    压缩列表当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,那么Redis就会使用压缩列表(ziplist)来做列表键的底层实现。当一......
  • C++成员初始化表达式列表的使用
    在类的构造函数中,首选使用成员初始化表达式列表去给类的对象赋值,这个比构造函数体种赋值速度更快,开销小解答如下:赋值初始化,通过在函数体内进行赋值初始化;列表初始化,在......
  • 16进制转换为字符串---JS
    <html><body><scripttype="text/javascript">functionmyFunction(){varx=document.getElementById("fname"); varfile=document.getElementBy......
  • [VueJsDev] 目录列表
    [VueJsDev]目录列表云服务器域名就一年,gitee上有不给发布,没办法https://www.vuejsdev.com/还是迁移到博客园吧。目录列表快速入门开发前小知识vue项目根目录配置......