python入门超easy系列(二)——— 结合for循环初探列表和字符串

python入门超easy系列(二)——— 结合for循环初探列表和字符串

众所周知,python是世界上入门最简单的语言!?——周某人


列表

列表是python中最基本、最常用的数据结构,讲道理如果列表及其基础操作不能熟练操作,你的python生涯将会面临重重阻碍。

1. 列表定义:通过 ‘[]’ 进行定义,可以存放一系列的任意数据,是一种容器类型。

lt = [1, 2, 'hello', 3.14, True]

print(lt, type(lt))
# 通过下标获取元素,有越界问题
print(lt[1])

2. 列表生成式:用于快速方便地生成一个列表

# 关于range()函数可参考上一章节
k = [i for i in range(1, 11)]
print(k)

output:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

尝试运行下面的例子,深入了解列表生成式的语法及其原理

print([i for i in 'abcdefg'])
print([i*2 for i in range(1, 11)])
print([i*i for i in range(1, 11)])
print([str(i) for i in range(1, 11)])
print([i for i in range(1, 11) if i % 2 == 0])

# 生成的列表可以与遍历的内容没有一毛钱关系
print([250 for i in range(1, 11)])

3. 列表操作

Tips:以下操作,运行查看结果

  • 切片操作

    print(lt[0])    	# 获取下标为0的元素值
    print(lt[-1])   	# 获取最后一个列表元素的值
    print(lt[1:3]) 		# 从下标1开始获取到下标为2的列表元素的值
    print(len(lt))  	# 获取列表长度,即是列表元素个数
    
  • 增、删、改、查 操作

    lt = [1, 2, 3, 3, 3, 4, 5]
    
    # 增
    lt.append(6)        # 追加列表元素
    lt.extend([7, 8])   # 将可迭代对象的元素展开,存放入列表中
    
    # 删
    lt.remove(6)        # 删除列表中第一个元素值为6的列表元素
    del lt[1]           # 删除下标为1的列表元素
    k = lt.pop(1)       # 删除列表中下标为1的列表元素,并返回被删除(弹出)的元素
    
    # 改
    lt[0] = 100         # 将下表为0的列表元素的值改为100
    
    # 查
    print(lt.index(3))  # 查询元素在列表中的索引号,找到返回该元素第一个出现的位置,若不在列表中,将会报错
    print(lt.count(3))  # 统计元素在列表中出现的次数
    
  • 逆序和排序

    # 逆序
    lt.reverse()
    print(lt)
    
    # 排序
    # reverse=True表示降序排序
    lt.sort(reverse=True)
    print(lt)
    

字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号 单引号’a’ 、双引号"a"和三引号""“a”""来创建字符串。前两种创建方法和后者的区别在于,后者可以打印多行内容,而前者只能通过’\n’来进行换行。

1. 切割与拼接

s = 'I love you more than i can say'
# 切割字符串
# sep:指定按照什么进行切割,默认按照空格切割
# maxsplit:指定最大切割次数,默认不限制次数
# ret = s.split(sep='abc', maxsplit=1)

# 从右边进行切割
ret = s.rsplit(' ', maxsplit=1)
print(ret)

s = 'Hello\nworld'
# 按照换行进行切割
print(s.splitlines())

s = 'I love you more than i can say'
ret = s.split()
# print(ret)
# 字符串拼接
s2 = '*'.join(ret)
print(s2)

# 一些零散知识
s1 = 'hello'
s2 = 'world'
# 可以使用'+'将字符串拼接在一起
s3 = s1 + s2
print(s3)

# '*'可以重复前面的字符串若干次
s4 = 'abc' * 3
print(s4)

# len函数统计字符串长度
print(len(s1))

2. 查询

s = 'Hi buddy, if you have something to say, than say; if you have nothing to say, than go.'

# 子串查找:找到首次出现的位置,返回下标,找不到返回-1
ret = s.find('hello')

# 从后面查找
ret = s.rfind('to')

# 统计子串出现的次数
ret = s.count('if')

# 判断是否已指定内容开头
ret = s.startswith('Hi')

# 判断是否已指定内容结尾
ret = s.endswith('go.')
print(ret)

3. 统计判断

s = 'hellO worlD!'

# 转换为全大写
print(s.upper())

# 转换为全小写
print(s.lower())

# 大小写转换
print(s.swapcase())

# 首字母大写
print(s.capitalize())

# 每个单词首字母大写
print(s.title())

# 用指定的内容替换指定内容,还可以值替换次数
print(s.replace('l', 'L', 2))

4. 类型判断

s = 'abcABC2'

# 是否是全大写
print(s.isupper())

# 是否是全小写
print(s.islower())

# 是否每个单词首字母都大写
print(s.istitle())

# 是否是全数字字符
print(s.isdecimal())

# 是否是全字母
print(s.isalpha())

# 是否全是字母或数字
print(s.isalnum())

4. 切片操作

s = "Do you know the way?"
# 切片
# 格式:s[开始:结束:步进]
print(s[1:3])

# 当一边的边界省略,则提取到改侧的边缘
print(s[1:])
print(s[:4])
print(s[1:-2])
print(s[:-3])
print(s[-3:])

# 指定步进值,默认为1
print(s[::2])

# 逆序提取
print(s[::-1])

5. 格式化输出(控制输出格式):python格式化输出有两种方式:百分号和format。format的功能要比百分号方式强大。

# %s:字符串
# %d:整型
# %f:浮点
# %c:字符
name = '二狗'
like = '大花'
age = 18
print('俺叫%s,暗恋%s,她今年%d岁' % (name, like, age))

# python中特有的解决方案
print('俺叫{},暗恋{},她今年{}岁'.format(name, like, age))
print('俺叫{2},暗恋{1},她今年{0}岁'.format(name, like, age))
print('俺叫{l},暗恋{n},她今年{a}岁'.format(n=name, l=like, a=age))

6.拓展——ASCII码:美国信息交换标准代码,就是用一个数字表示字符的规范。

# 字符 => ASCII
print(ord('A'))

# ASCII => 字符
print(chr(97))

下期预告:继续介绍python另外两常用的可迭代对象:元组、字典,还有在初学阶段不常用的集合。
Tips:如有疑问欢迎随时打扰 ???

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值