python中字符串和列表的相似点和不同点_Python字符串和字典

前言回顾

上一讲我们讲到了列表和元组,今天我们再来学一下python中的字符串和列表,在python的江湖里常用的数据类型有三种,字符串,整数,浮点数,首先我们来学习一下字符串,字符串英文名string,简称str,或许你刚看到他的时候感觉很简单,到在它看似简单的外表下,你却可以用很多不同的方式使用它。

1.1 字符串定义

字符串, 就是由一个个字符连接起来的组合, 你平时所见的字母、数字、汉字、符号都是字符。 字符串可以用来表示词、语句、甚至是数学公式。

在python中,用括号括起来的就是字符串,其中的引号可以是单引号、双引号,也可以是三引号括起来的文本。小编提示,记得用引号括住,创建字符串;将字符串赋值给变量;使用print()函数打印。

例如:

''This is a string. '

'This is also a string. '

say='我们强者就该无所畏惧。'

print(say)

say1='那你为什么要跑?'

print(say1)

这种灵活性让你能够在字符串中包含引号和撇号:

'I told my friend, "Python is my favorite language!"'

''The language 'Python' is named after Monty Python, not the snake.''

"One of Python's strengths is its diverse and supportive community.''

1.2 python的常用转义字符

如果字符串中需要出现单引号或双引号,可以使用转义符号`\`对字符串中的符号进行转义。

print('let\'s go') # let's go

print("let's go") # let's go

print('C:\\now') # C:\now

print("C:\\Program Files\\Intel\\Wifi\\Help")

# C:\Program Files\Intel\Wifi\Help

三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

para_str = """这是一个多行字符串的实例

多行字符串可以使用制表符 TAB ( \t )。

也可以使用换行符 [ \n ]。

"""

print(para_str)

# 这是一个多行字符串的实例 # 多行字符串可以使用制表符 # TAB ( )。

# 也可以使用换行符 [ # ]。 para_str = '''这是一个多行字符串的实例

多行字符串可以使用制表符 TAB ( \t )。

也可以使用换行符 [ \n ]。

'''

print(para_str)

# 这是一个多行字符串的实例 # 多行字符串可以使用制表符 # TAB ( )。

# 也可以使用换行符 [ # ]。

1.3 字符串的切片与拼接

所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小值和最大值)都适用于字符串,但别忘了字符串是不可变的,因此所有的元素赋值和切片赋值都是非法的。

>>> website = 'http://www.python.org'

>>> website[-3:] = 'com'

Traceback (most recent call last):

File "", line 1, in ?

website[-3:] = 'com'

TypeError: object doesn't support slice assignment

类似于元组具有不可修改性从 0 开始 (和 Java 一样)切片通常写成 `start:end` 这种形式,包括「`start` 索引」对应的元素,不包括「`end`索引」对应的元素。

索引值可正可负,正索引从 0 开始,从左往右;负索引从 -1 开始,从右往左。使用负数索引时,会从最后一个元素开始计数。最后一个元素的位置编号是 -1。

例如:

str1 = 'I Love LsgoGroup'

print(str1[:6]) # I Love

print(str1[5]) # e

print(str1[:6] + " 插入的字符串 " + str1[6:])

# I Love 插入的字符串 LsgoGroup

s = 'Python'

print(s) # Python

print(s[2:4]) # th

print(s[-5:-2]) # yth

print(s[2]) # t

print(s[-1]) # n

1.4 字符串的常用内置函数

将字符串改写成大写或小写

`capitalize()` 将字符串的第一个字符转换为大写。

str2 = 'xiaoxie'

print ( str2.capitalize( ) ) #

Xiaoxie

`lower()` 转换字符串中所有大写字符为小写。

`upper()` 转换字符串中的小写字母为大写。

`swapcase()` 将字符串中大写转换为小写,小写转换为大写。

str2 = "DAXIExiaoxie"

print(str2.lower()) # daxiexiaoxie

print(str2.upper()) # DAXIEXIAOXIE

print(str2.swapcase()) # daxieXIAOXIE

1.5 字符串格式化

字符串格式设置涉及的内容很多基本思想是对字符串调用方法format,并提供要设置其格式的值。字符串包含有关如何设置格式的信息,而这些信息是使用一种微型格式指定语言(mini-language)指定的。每个值都被插入字符串中,以替换用花括号括起的替换字段。要在最终结果中包含花括号,可在格式字符串中使用两个花括号(即{{或}})来指定。

>>> "{{ceci n'est pas une replacement field}}".format()

"{ceci n'est pas une replacement field}"

在格式字符串中,最重要的部分为替换字段。替换字段由如下部分组成,其中每个部分

都是可选的。

 字段名:索引或标识符,指出要设置哪个值的格式并使用结果来替换该字段。除指定值

外,还可指定值的特定部分,如列表的元素。

 转换标志:跟在叹号后面的单个字符。当前支持的字符包括r(表示repr)、s(表示str)

和a(表示ascii)。如果你指定了转换标志,将不使用对象本身的格式设置机制,而是使

用指定的函数将对象转换为字符串,再做进一步的格式设置。

 格式说明符:跟在冒号后面的表达式(这种表达式是使用微型格式指定语言表示的)。格

式说明符让我们能够详细地指定最终的格式,包括格式类型(如字符串、浮点数或十六

进制数),字段宽度和数的精度,如何显示符号和千位分隔符,以及各种对齐和填充方式。

print('%c' % 97) # a

print('%c %c %c' % (97, 98, 99)) # a b c

print('%d + %d = %d' % (4, 5, 9)) # 4 + 5 = 9

print("我叫 %s 今年 %d 岁!" % ('小明', 10)) # 我叫 小明 今年 10 岁!

print('%o' % 10) # 12

print('%x' % 10) # a

print('%X' % 10) # A

print('%f' % 27.658) # 27.658000

print('%e' % 27.658) # 2.765800e+01

print('%E' % 27.658) # 2.765800E+01

print('%g' % 27.658) # 27.658

text = "I am %d years old." % 22

print("I said: %s." % text) # I said: I am 22 years old..

print("I said: %r." % text) # I said: 'I am 22 years old.'

2.1 字典的定义和创建

字典和列表很相似,都有名称、赋值号、逗号做间隔,逗号间隔的还叫元素。

而不一样的是,字典每个元素由键与值组成,而列表不是,字典外层使用大括号{}, 列表外层使用中括号[ ]。

transformers = ['擎天柱','大黄蜂','救护车','巨无霸福特','红蜘蛛']

fc = { '擎天柱': 95 ,'大黄蜂':90 ,'救护车':86, '巨无霸福特':80,'红蜘蛛':80 }

字典的元素由键与值组成,组成形式 键:值,冒号还是英文的冒号。'擎天柱': 95, 我们把'擎天柱'称为键,把95称为值。

这样键:值的形式,我们统称为键值对。那么,fc这个字典里有5个键值对 : '擎天柱': 95、'大黄蜂':90、'救护车':86、 '巨无霸福特':80、'红蜘蛛':80。

如果你不想查, 你还可以使用len()函数来得到字典或列表的长度。len()函数括号里放字典或列表的名字。

这里注意的是:字典中的键是唯一的,值是可以重复的。也就是说,字典里只能有一个‘擎天柱’的键,但是却可以有两个‘80’的值。

2.2 访问字典的键和值

要得到字典中的某个值,可以用字典名加上中括号获取,中括号中放人的是该值对应的键。如果键不在字典中就会引发KeyError,例如:

>>> dic = {'A': 101,'B': 201, 'C': 41 }

>>> dic['A']

101

>>> dic[ 'D' ]

Traceback ( most recent call last) :

File " < pyshell#59>", line 1, in < module >

dic[ 'D']

KeyError: 'D'

字典中可包含任意数量的键值对。

2.3 更新字典

字典是一种动态结构,可随时在其中修改和添加键值对。需要注意的是,键值对的排列顺序与添加顺序不同。Python不关心键值对的添加顺序,只关心键和值之间的关联关系。例如:

>>> dic = { 1:10.2,2:3 ,3:41.2,4:55 }

>>> dic[2] = 3.5

>>> dic

{ 1: 10.2,2: 3.5, 3: 41.2, 4: 55 }

>>> dic[ 5 ] = 66

>>> dic

{ 1: 10.2,2:3.5, 3: 41.2, 4: 55, 5: 66 }

2.4 删除键值对

对于字典中不需要的元素,可以使用del语句将相应的键值对彻底删除。使用del语句时,需要指定字典名和要删除的键。例如:

>>> snacks = { "薯片”:11.2,"瓜子":8.8,"牛奶”:5 }

①>>> del snacks[ "牛奶" ]

> > > snacks

{ '薯片': 11.2, '瓜子':8.8 }

①处的代码将键"牛奶''从字典s中删除,同时删除与这个键相关联的值。文章部分内容采自上机考试题库二级Python和Python基础教程(第三版)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值