python字符串和列表,python列表运算符

  python字符串和列表,python列表运算符

  这篇文章给大家带来了一些关于python的知识,主要介绍了一些关于字符和列表的相关问题,包括字符串的输入输出、列表的循环遍历、列表的添加、删除、检查和嵌套等。下面就让我们一起来看看,希望对你有所帮助。

  推荐:python视频教程

  00-1010字符串表示

  a= 100 b= hello world c= hello world d= 100 e= 18.20520

1.字符串

Python len()方法返回一个对象(字符、列表、元组、字典等)的长度。)或项目数。

  in[1]3360 a= abcdefg in[2]3360 len(a)out[2]33607 in[3]3360 b=[1,2,3,4,5,66,77,8888] in [4] 38

  [5]: a=“老”在[6]: b=“王”在[7]: c=a

  在:摄氏度

  出[8]: 老王在[9]: d====甲b ===在[10]: d

  out[10]: ====老王==== In[11]: f====% s==== %(a b)In[12]: f

  [12] :===老王==

1.1len函数返回对象的长度或者个数

-1010 输入信息

  姓名=输入(“请输入你的姓名:”)职位=输入(“请输入你的职业3360”)地址=输入(“请输入你的地址3360”)输出信息。

  Print(=*50)print(姓名:%s\n职业3360%s\n地址:% s%(姓名,职务,地址))print (= * 50)

1.2组成字符串的另外一种方式:

格式化数据,可以多种方式显示。例如通过位置、通过关键字参数以及通过映射列表。

  1.超车位置

  Print("我的名字是{0},年龄是{1} "。格式(刘备,20))

  打印(“我叫{},年龄{}”。格式(刘备,20))

  打印(“{1}、{0}、{1}”。格式(刘备,20))

  2.按关键字参数

  打印(“{年龄},{姓名}”。格式(年龄=28,姓名="曹操"))

  打印(“{姓名}、{姓名}、{年龄}”。格式(年龄=28,姓名="曹操"))

  3.通过映射列表

  list=["孙权",20,"中国"]

  Blist=[《丢西姆的故事》,18,《中国》]

  print("我的名字是{1[0]},从{0[2]},年龄是{0[1]} "。格式(列表、blist))

  在python3中,input得到的所有数据都以字符串的形式保存,即使输入数字,也是以字符串的形式保存。

  #确定密码是否正确。

  User_name=input("请输入用户名:")password=input("请输入密码3360 ") if user _ name=="北京"和password==" 123 "3360print("欢迎光临北京官网!Else :print(您的账号或密码有误!)

2.字符串的输入输出

下标索引

  所谓“下标”就是编号,就像超市里的储物柜的编号一样,通过它可以找到对应的储物空间。

  通过下标去掉一些字符

  如果有字符串:name=

  ‘abcdef’,在内存中的实际存储如下:

  

In [1]: len(name)
Out[1]: 7
In [2]: name[len(name)-1]
Out[2]: ‘g’
In [3]: name[-1]
Out[3]: ‘g’ 正数从左往右,负数从右往左

  

2.4切片

切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。
切片的语法:[ 起始: 结束: 步长]
注意:选取的区间属于 左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),注意,如果不写步长默认是1.
步长是控制方向的,正数从左往右取,负数是从右到左取

  

In [1]: name="abcdefABCDEF"In [2]: name[0:3]Out[2]: 'abc'In [3]: name[0:5:2]Out[3]: 'ace'In [4]: name[-1::-1] 			#逆序(倒叙)Out[4]: 'FEDCBAfedcba'
下标和切片小结
[:] 提取从开头(默认位置0)到结尾的整个字符串
[start:] 从start 提取到结尾
[:end] 从开头提取到end - 1
[start:end] 从start 提取到end - 1
[startstep] 从start 提取到end - 1,每step 个字符提取一个
[::-1]逆序

  

3.字符串常见函数

find()、 rfind ()、 index ()、 rindex ()、 replace ()、split ()、parttion ()、rparttion ()、splitlines ()、startswith ()、endswith ()、lower ()、upper ()、…………

  

3.1find及rfind

In [1]: mystr="hello world yanzilu and yanziluPython"In [2]: mystr

  Out[2]: 'hello world yanzilu and yanziluPython

  In [3]: mystr.find("and")Out[3]: 20In [4]: mystr.find("world") #存在则返回该单词开始的下标Out[4]: 6In [5]: mystr.find("world1") #不存在则返回-1Out[5]: -1In [6]: mystr.find("yanzilu")Out[6]: 12In [7]: mystr.find("yanzilu",20,len(mystr)) #指定查找区域Out[7]: 24In [8]: mystr.rfind("yanzilu") #rfind,从右往左搜索Out[8]: 24

3.2index 、rindex

作用和find一样,只有一点不同,index搜索不到的内容会报错

  

In [9]: mystr.index("and") Out[9]: 20In [10]: mystr.index("yanzilu")Out[10]: 12In [11]: mystr.index("yanzilu",20,len(mystr)) 	#指定查找区域Out[11]: 24In [12]: mystr.rindex("yanzilu") 				#从右往左搜索Out[12]: 24In [13]: mystr.rindex("zhangsan") 				#搜索不存在的会报错---------------------------------------------------------------------------ValueError Traceback (most recent call last)<ipython-input-67-6aff7ee60ad5> in <module>----> 1 mystr.rindex("zhangsan")ValueError: substring not found

3.3 replace 替换

In [14]: mystr

  Out[14]: 'hello world yanzilu and yanziluPython'In [15]: mystr.replace("world","WORLD")Out[15]: 'hello WORLD yanzilu and yanziluPython'In [16]: mystr

  Out[16]: 'hello world yanzilu and yanziluPython'In [17]: mystr.replace("yan","zhang")Out[17]: 'hello world zhangzilu and zhangziluPython'In [18]: mystr.replace("yan","zhang",1) #指定替换次数Out[18]: 'hello world zhangzilu and yanziluPython'In [19]: mystr.replace("yan","xxx",1)Out19]: 'hello world xxxzilu and yanziluPython'In [20]: mystr.replace("yan","xxx",2)Out[20]: 'hello world xxxzilu and xxxziluPython'In [21]: mystr.replace("yan","xxx",33) #替换次数可以超过最大值Out[21]: 'hello world xxxzilu and xxxziluPython'

3.4split,作用分割,切割 ,语法:split(str=’ ',maxsplit)

In [22]: mystr

  Out[22]: 'hello world yanzilu and yanziluPython'In [23]: mystr.split(" ")Out[23]: ['hello', 'world', 'yanzilu', 'and', 'yanziluPython']In [24]: mystr.split("and")Out[24]: ['hello world yanzilu ', ' yanziluPython']In [25]: mystr.split(" ",3)Out[25]: ['hello', 'world', 'yanzilu', 'and yanziluPython']In [26]: mystr.split()Out[26]: ['hello', 'world', 'yanzilu', 'and', 'yanziluPython']

3.5 partition , 把mystr 以str分割成三个部分,str前,str自身,str后

In [27]: mystr

  Out[27]: 'hello world yanzilu and yanziluPython'In [28]: mystr.partition("and")Out[28]: ('hello world yanzilu ', 'and', ' yanziluPython')In [29]: mystr.partition("yanzilu")Out[29]: ('hello world ', 'yanzilu', ' and yanziluPython')In [30]: mystr.rpartition("yanzilu")Out[30]: ('hello world yanzilu and ', 'yanzilu', 'Python')

3.6splitlines作用,按照行进行分割,返回一个包含各行作为元素的列表

In [31]: mystr1

  Out[31]: 'hello\nworld\nyanzilu\nand\nyanziluPython'In [32]: mystr1.splitlines()Out[32]: ['hello', 'world', 'yanzilu', 'and', 'yanziluPython']

3.7 startswith () 判断是否以str开头; endswith () 判断是否以str结尾。

In [33]: mystr

  Out[33]: 'hello world yanzilu and yanziluPython'In [34]: mystr.startswith("hello")Out[34]: TrueIn [35]: mystr.startswith("Hello")Out[35]: FalseIn [36]: mystr.startswith("h")Out[36]: TrueIn [37]: mystr.endswith("Pthon")Out[37]: FalseIn [38]: mystr.endswith("Python")Out[38]: True

3.8upper将所有字母转换为大写; lower将所有字母转换为小写。

In [39]: mystr.upper()。

  Out[39]: 'HELLO WORLD YANZILU AND YANZILUPYTHON'In [40]: mystr.lower() Out[40]: 'hello world yanzilu and yanzilupython'

3.9center给字符串两边添加空格,居中显示

In [41]: mystr = "那一夜我伤害了你"In [42]: mystr = mystr.center(30) In [43]: mystr

  Out[43]: ' 那一夜我伤害了你

###3.10 lstrip删除字符串左边的空格

  

In [44]: mystr.lstrip()Out[44]: '那一夜我伤害了你

3.11rstrip删除字符串右边的空格

In [45]: mystr.rstrip()Out[45]: ' 那一夜我伤害了你'

3.12 strip删除字符串两边的空格

In [46]: mystr.strip()Out[46]: '那一夜我伤害了你'

3.13isspace判断是否只包含空格

In [47]: mystr.isspace()Out[47]: FalseIn [48]: mystr = " "In [49]: mystr.isspace()Out[49]: True

3.14salpha判断字符串中是否只包含字母

In [50]: mystr = "abc" In [51]: mystr.isalpha()Out[51]: TrueIn [52]: mystr = "abc1"In [53]: mystr.isalpha()Out[53]: False

3.15isdigit判断是否只包含数字。

In [54]: mystr = "123123"In [55]: mystr.isdigit()Out[55]: TrueIn [56]: mystr = "123123aa"In [57]: mystr.isdigit()Out[57]: False

3.16isalnum判断是否只包含数字和字母。

In [58]: mystr.isalnum()Out[58]: TrueIn [59]: mystr = "123123 aa"In [60]: mystr.isalnum()Out[60]: False

3.17title将每个单词的首字母大写,其余小写

In [61]: mystr = 'hello world yanzilu and yanziluPython'In [62]: mystr.title()Out[63]: 'Hello World Yanzilu And Yanzilupython'

3.18capitalize将字符串的第一个字符大写,其余小写

In [64]: mystr.capitalize()Out[64]: 'Hello world yanzilu and yanzilupython'

3.19count统计单词出现的次数

In [65]: mystr.count("hello")Out[65]: 1In [66]: mystr.count("yan")Out[66]: 2

3.20join在每个字符后面插入str,构造出一个新的字符串。

In [67]: mystr = " "In [68]: name

  Out[68]: ['hello', 'world', 'yanzilu', 'and', 'yanziluPython']In [69]: mystr.join(name)Out[69]: 'hello world yanzilu and yanziluPython'In [70]: mystr = "_"In [71]: mystr.join(name)Out[71]: 'hello_world_yanzilu_and_yanziluPython'

4.列表及循环遍历

4.1列表的格式

#变量names_list的类型为列表names_list = [' 刘备',' 曹操',' 孙权'] 

  #打印多个姓名names_list = [' 刘备',' 曹操',' 孙权']print(names_list[0])print(names_list[1])print(names_list[2]) names = [' 刘备',' 曹操',' 孙权'] for x in names print(x)i=1while i<len(names)print(name[i])i+=1

5.列表的增删改查:

列表中存放的数据是可以进行修改的,比如"增"、“删”、“改”

  

5.1列表的添加元素("增"append, extend, insert)

append可以向列表添加元素
extend将另一个集合中的元素逐一添加到列表中
insert在指定位置index前插入元素

  

name=[“刘备” , ”曹操” , ”孙权”]print(“增加之前:”,name)info=[“黄忠” , ”魏延”]
append追加

  

names.append("吕布")names.append("貂蝉")names.append(info) 				

  #append把中括号也增加上了print("增加之后:",names)

这里是引用

  

使用extend合并列表

  

info = ["黄忠","魏延"]names.extend(info)print("增加之后:",names)
这里是引用

  

insert在指定位置前插入元素

  

names.insert(0,"刘禅")print("增加之后:",names)

5.2删除元素 (" 删 "del, pop, remove)

del根据下标进行删除
pop删除最后一个元素
remove根据元素的值进行删除

  

names = ['刘备', '曹操', '孙权', '吕布', '貂蝉', '黄忠', '魏延']print("删除前:",names)

5.3del指定下标删除

del names[1]print("del删除后:",names)

5.4使用pop删除最后一个元素

names.pop()names.pop()print("pop删除后:",names)

5.5使用remove根据元素值进行删除

name = input("请输入您要删除的历史人物:")names.remove(name)print("remove删除后:",names)

5.6列表的修改

通过下标修改元素 (" 改 ")

  

names = ["刘备","曹操","孙权"]names[0] = "刘禅"print(names)

5.7查找元素("查"in, not in, index, count)

python中查找的常用方法为:
in (存在), 如果存在那么结果为True ,否则为False
not in (不存在),如果不存在那么结果为True ,否则False
index和count与字符串中的用法相同

  

names = ['刘备', '曹操', '孙权', '吕布', '貂蝉', '黄忠', '魏延',"曹操"]findName = input("请输入您要查找的姓名:")if findName in names:

   print("已经找到:%s"%findName)else:

   print("没有找到:%s"%findName)

In [1]: names = ['刘备', '曹操', '孙权', '吕布', '貂蝉', '黄忠', '魏延',’曹操’]In [2]: name.index(“曹操”)Out[2]:1In [3]: name.index(“曹操”,2,leb(names))Out[3]:7In [4]: name.count(“曹操”)Out[4]:2

6.排序(sort, reverse)

sort方法是将list按特定顺序重新排列,默认为由小到大(True:从小到大;False从大到小)
reverse=True可改为倒序,由大到小。
reverse方法是将list逆置。需要先排序再降序

  

7.列表嵌套

类似while循环的嵌套,列表也是支持嵌套的一个列表中的元素又是一个列表,那么这就是列表的嵌套
示例:

  

school_names = [[' 北京大学',' 清华大学'],[' 南开大学',' 天津大学'],[' 贵州大学',' 青海大学']]print(school_names)
#print(school_names)#print(len(school_names))#print(school_names[2][1])for school in school_names:

   print("="*30)

   print(school)

   for name in school:

   print(name)

8.列表嵌套的应用- - 随机安排老师工位

一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

  

import random

  offices = [[ ],[ ],[ ]]names = ['刘备', '曹操', '孙权', '吕布', '貂蝉', '黄忠', '魏延','大乔']for office in offices:

   #得到一个教师的下标

   index = random.randint(0,len(names)-1)

   #分配老师

   name = names[index]

   office.append(name)

   #要移除已经完成分配的老师

   names.remove(name)for name in names:

   #得到办公室编号

   index = random.randint(0,2)

   offices[index].append(name)#print(offices)#打印出来哪些办公室有哪些老师i= 1for office in offices:

   #office = ["刘备","曹操"]

   print("办公室%s : 共%s人"%(i,len(office)))

   i+=1

   for name in office:

   print("%s"%name,end="\t\t")

   print()

   print("="*30)

推荐学习:python视频教程以上就是简单学习Python字符和列表(实例详解)的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 如何对python字符串中字符进行替换,python 替换字符串
  • 如何对python字符串中字符进行替换,python 替换字符串,python字符串替换的2种方法
  • Python字符串转变量,python输出字符和数字变量
  • Python字符串转变量,python输出字符和数字变量,Python将字符串常量转化为变量方法总结
  • python字符串讲解,菜鸟教程python字符串
  • python字符串讲解,菜鸟教程python字符串,python 字符串详解
  • python字符串根据字符截取,python字符串的切片操作
  • python字符串根据字符截取,python字符串的切片操作,Python中的字符串切片(截取字符串)的详解
  • python中字符串的切片,python字符串
  • python中字符串的切片,python字符串,Python中字符串切片详解
  • python 去除字符串中的空格,python字符串去除空格
  • python 去除字符串中的空格,python字符串去除空格,Python 字符串去除空格的五种方法
  • ,,Python字符串拼接的4种方法实例
  • ,,Python字符串匹配之6种方法的使用详解
  • python编写函数去掉字符串中的空格,python字符串怎么去空格
  • 留言与评论(共有 条评论)
       
    验证码: