本文主要结合例题介绍了数据集合中的元组、字符串、以及字符串的查找 替换 格式化等基础函数。下期是序列 集合 字典,这几种数据集合在Python中也是蛮重要的,对于新手比较友好。
本文例题大多来自哔站up主鱼C-小甲鱼【Python教程】的练习过程,当然有所改变,up主也是用的交互式,注重理解注重理解!!!
持续更新中,蟹蟹٩('ω')大家支持,更多内容,敬请期待!。有点小用的话,点赞收藏+关注吧!!!
目录
十一、元组------->
例24 元组的切片操作(交互式)
例25 index
例26 元组拼接 重复
十二、如何定义一个元素的元组,必须后面加上“,”
例27 元组的定义 类型 tuple
例28 单独一个下划线"_"表示一个匿名变量
例29 元组本身不能进行元素的修改,但是对于一个可变列表里面的元组,可以实现对元组元素的修改
例30 字符串 回文数
十三、改变字符串的英文大小写
例31 capitalize() `casefold() `title()` `swapcase()` *`upper() `lower() 函数
例32 实现字符串的居中,左右对齐等效果 center...
十四、字符串的查找、替换
例33 index() 函数用于从列表中找出某个值第一个匹配项的索引位置
例34 字符串的替换
例35
十五、字符串的格式化
例36 字符串的格式化的各种形式
例37 “<,>,=”对齐方式,填充方式
例38 ‘+’ ‘-’ ‘空格’
例39 type类型的选项
例40 浮点数 科学计数法 ‘e’ 'f' 'g' 'n' '%' ''None
例41 f(F) 简写 format(感觉这种方法好用)
十一、元组------->
例24 元组的切片操作(交互式)
Python中的元组(Tuple)是一种有序的数据集合,与列表(List)相似,但元组是不可变的,即一旦创建,就不能更改其内容(例如,不能添加、删除或更改元素)。元组通常用于存储不需要修改的数据集合,如坐标点、数据库查询结果等。
rhyme = 1,2,3,4,'喜欢你!'
rhyme
(1, 2, 3, 4, '喜欢你!')
s1 = '喜','欢','你'
s1
('喜', '欢', '你')
s1[0]
'喜'
s1[:3]
('喜', '欢', '你')
s1[:2]
('喜', '欢')
s1[:0]
()
s1[:1]
('喜',)
s1.count('喜')
1
s1.count(喜)
例25 index
heros = "娜可露露","安琪拉","钟馗","韩信" heros.index("安琪拉") 1 heros.index("娜可露露") 0
例26 元组拼接 重复
s = (1,2,3) t = (4,5,6) s+t (1, 2, 3, 4, 5, 6) s*3 (1, 2, 3, 1, 2, 3, 1, 2, 3) s,t ((1, 2, 3), (4, 5, 6)) for each in s: print(each) 1 2 3 w = s,t w ((1, 2, 3), (4, 5, 6)) for i in w: for each in i: print(each) 1 2 3 4 5 6 s = (1,2,3,4,5) ##列表推导式 [each*2 for each in s] [2, 4, 6, 8, 10]
十二、如何定义一个元素的元组,必须后面加上“,”
例27 元组的定义 类型 tuple
x = (520) x 520 type(x) #查看数据类型 <class 'int'> x = (520,) x (520,) type(x) <class 'tuple'> t = (123,"ZMR",3.14) t (123, 'ZMR', 3.14) x,y,z = t x 123 y 'ZMR' z 3.14 t = [123,"zmr",3.14] t [123, 'zmr', 3.14] x,y,z = t x 123 y 'zmr' z 3.14 a,b,c = "zmr" a 'z' b 'm' c 'r' a,*b = "zmr" a 'z' b ['m', 'r']
例28 单独一个下划线"_"表示一个匿名变量
##实质:对元组进行打包,然后再分配
x,y = 10,20 x 10 y 20 _ = (10,20) x,y = _ x 10 y 20
例29 元组本身不能进行元素的修改,但是对于一个可变列表里面的元组,可以实现对元组元素的修改
s = [1,2,3]
t = [4,5,6]
w = (s,t)
w
([1, 2, 3], [4, 5, 6])
w[0][0] = 0
w
([0, 2, 3], [4, 5, 6])
例30 字符串 回文数
x = "12321" "是回文数" if x == x[::-1] else "不是回文数" '是回文数'
31 判断是否为回文数 例12321
'''
a = input('请输入一个数字:')
b = a[::-1]
if a == b:
print('该数字是回文数')
else:
print('该数字不是回文数')
'''
十三、改变字符串的英文大小写
例31 capitalize() `casefold() `title()` `swapcase()` *`upper() `lower() 函数
x = "I love Myself"
x.capitalize()
'I love myself'
x
'I love Myself'
x.casefold()
'i love myself'
x
'I love Myself'
x.title()
'I Love Myself'
x.swapcase()
'i LOVE mYSELF'
x.upper()
'I LOVE MYSELF'
x.lower()
'i love myself'
在Python中,字符串是不可变的(immutable),这意味着一旦创建了字符串,就不能直接修改它。但是,Python提供了一系列的方法来创建字符串的新版本,这些新版本在大小写或其他方面与原始字符串不同。以下是提到的字符串方法的简单介绍:
1. **`capitalize()`**:
- 作用:将字符串的第一个字符转换为大写,其余字符转换为小写。
- 注意:这个方法不会改变原字符串,而是返回一个新的字符串。
- 示例:`"I love Myself".capitalize()` 返回 `'I love myself'`。2. **`casefold()`**:
- 作用:将字符串中的所有字符转换为小写,并尝试进行更彻底的大小写折叠(比 `lower()` 更彻底,适用于更广泛的语言环境)。
- 注意:这个方法同样不会改变原字符串,而是返回一个新的字符串。
- 示例:`"I love Myself".casefold()` 返回 `'i love myself'`。3. **`title()`**:
- 作用:将字符串中每个单词的首字母转换为大写,其余字母转换为小写。这里的“单词”是指由空白字符分隔的字符串序列。
- 注意:这个方法不会改变原字符串,而是返回一个新的字符串。
- 示例:`"I love Myself".title()` 返回 `'I Love Myself'`(注意这里的'Myself'没有被修改,因为'M'前面没有空白字符,所以它不被视为新单词的开始)。4. **`swapcase()`**:
- 作用:将字符串中的小写字母转换为大写,大写字母转换为小写。
- 注意:这个方法同样不会改变原字符串,而是返回一个新的字符串。
- 示例:`"I love Myself".swapcase()` 返回 `'i LOVE mYSELF'`。5. **`upper()`**:
- 作用:将字符串中的所有小写字母转换为大写字母。
- 注意:这个方法不会改变原字符串,而是返回一个新的字符串。
- 示例:`"I love Myself".upper()` 返回 `'I LOVE MYSELF'`。6. **`lower()`**:
- 作用:将字符串中的所有大写字母转换为小写字母。
- 注意:这个方法不会改变原字符串,而是返回一个新的字符串。
- 示例:`"I love Myself".lower()` 返回 `'i love myself'`。在你的示例中,虽然你调用了这些方法,但你没有将返回的新字符串赋值给任何变量(除了直接在控制台中看到结果外),因此原字符串`x`没有改变。如果你想要更新`x`的值,你需要将方法的返回值重新赋值给`x`,如下所示:
```python
x = "I love Myself"
x = x.capitalize() # 现在x的值是'I love myself'
print(x) # 输出: I love myself
```这样,`x`就会包含经过`capitalize()`方法处理后的新字符串了。
例32 实现字符串的居中,左右对齐等效果 center...
x = "安琪拉,人家很厉害的!"
x.center(10)
'安琪拉,人家很厉害的!'
x.center(20)
' 安琪拉,人家很厉害的! '
x.ljust (20)
'安琪拉,人家很厉害的! '
x.rjust(20)
' 安琪拉,人家很厉害的!'
x.zfill (20)
'000000000安琪拉,人家很厉害的!'
"1314".zfill(8)
'00001314'
"-520".zfill(8)
'-0000520'
x.center (20,"哼")
'哼哼哼哼安琪拉,人家很厉害的!哼哼哼哼哼'
x.ljust(20,"哼")
'安琪拉,人家很厉害的!哼哼哼哼哼哼哼哼哼'
十四、字符串的查找、替换
例33 index() 函数用于从列表中找出某个值第一个匹配项的索引位置
x = "海上月是人间月,眼前人是心上人"
x.count ("人")
3
x.count("人",0,7)
1
x.find("人")
4
x.rfind("人")
14
x.find ("爱")
-1
x.index("海")
0
x.index("人")
4
例34 字符串的替换
code = """
print("I love Myself!") #此处是Tab键
print("I love Myself!")""" #此处是四个空格键
new_code = code.expandtabs(4)
print(new_code)
print("I love Myself!") #此处是Tab键
print("I love Myself!") #此处是四个空格键
##没看懂???? ##快捷键Alt+p上一步/N下一步
例35
"在吗!我在你家楼下,快点下来!".replace("在吗","想你")
'想你!我在你家楼下,快点下来!'
table = str.maketrans("ABCDEFG","1234567")
"I love you".translate(table)
'I love you'
"I love you".translate(str.maketrans("ABCDEFG","1234567"))
'I love you'
"I love you".translate(str.maketrans("ABCDEFG","1234567","love"))
'I yu'
十五、字符串的格式化
例36 字符串的格式化的各种形式
year = 2010
"鱼C工作室成立于{}年".format(year)
'鱼C工作室成立于2010年'
"1+2 = {}".format(1+2)
'1+2 = 3'
"{}看到{}就很激动!".format("梦茹同学","街舞")
'梦茹同学看到街舞就很激动!'
"{0}看到{1}就很激动!".format("梦茹同学","街舞")
'梦茹同学看到街舞就很激动!'
"{0}{0}{1}{1}".format("是","非")
'是是非非'
例37 “<,>,=”对齐方式,填充方式
"我叫{name},我爱{fav}。".format(name = "梦茹同学",fav = "Python")
'我叫梦茹同学,我爱Python。'
"我是{1},我特别喜欢{0},也因此{2}".format("开心地笑","梦茹同学","吸引了很多朋友")
'我是梦茹同学,我特别喜欢开心地笑,也因此吸引了很多朋友'
"{},{},{}".format(1,{},2)
'1,{},2'
"{},{{}},{}".format(1,2)
'1,{},2'
"{:^}".format(250)
'250'
"{:^10}".format(250)
' 250 '
"{1:>10}{0:<10}".format(520,250)
' 250520 '
"{left:>10}{right:<10}".format(right = "520",left = "250")
' 250520 '
"{:010}".format(520)
'0000000520'
"{:010}".format(-520)
'-000000520'
#注意:这个用“0”来填充只适用于数字,字符串不可以
"{1:%>10},{0:%<10}".format(520,250)
'%%%%%%%250,520%%%%%%%'
"{:0=10}".format(520)
'0000000520'
":0=10".format(-520)
':0=10'
"{:0=10}".format(-520)
'-000000520'
例38 ‘+’ ‘-’ ‘空格’
注意:精度选项不能应用在整数上
"{:+} {:-}".format(520,-520)
'+520 -520'
"{:,}".format(1234) #“,”“_”表示千分位分割线
'1,234'
"{:_}".format(1234)
'1_234'
"{:,}".format(123456789)
'123,456,789'
"{:.2f}".format(123.654) #"f"表示小数点后面保留几位
'123.65'
"{:.2g}".format(1.256) #“g”表示整数部分加上小数点一共要保留几位,它不会自动向上取整,而是根据科学计数法的规则来保留有效数字。
"{:.6}".format("I love Python")
'I love'
"{:.2}".format(520) #数字不行
Traceback (most recent call last):
File "<pyshell#29>", line 1, in <module>
"{:.2}".format(520)
ValueError: Precision not allowed in integer format specifier
例39 type类型的选项
"{:b}".format(80)
'1010000'
"{:c}".format(80)
'P'
"{:d}".format(80)
'80'
"{:o}".format(80)
'120'
"{:x}".format(80)
'50'
"{:#b}".format(80)
'0b1010000'
"{:#o}".format(80)
'0o120'
"{:#x}".format(80)
'0x50'
例40 浮点数 科学计数法 ‘e’ 'f' 'g' 'n' '%' ''None
例41 f(F) 简写 format(感觉这种方法好用)
year = 2010
F"鱼C工作室成立于{year}年"
'鱼C工作室成立于2010年'
f"1+2={1+2},3的平方={3*3},2的立方={2*2*2}"
'1+2=3,3的平方=9,2的立方=8'
f"{-520:010}"
'-000000520'
f"{123456789:,}"
'123,456,789'
fill = '+'
align = '^'
width = 10
prec = 3
ty = 'g'
f"{3.1415:{fill}{align}{width}.{prec}{ty}}"
'+++3.14+++'