A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

列表

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

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

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

print(lt, type(lt))
# 通过下标获取元素,有越界问题
print(lt[1])
1
2
3
4
5
2. 列表生成式:用于快速方便地生成一个列表

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

output:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
1
2
3
4
5
尝试运行下面的例子,深入了解列表生成式的语法及其原理

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)])
1
2
3
4
5
6
7
8
3. 列表操作

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

切片操作

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

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))  # 统计元素在列表中出现的次数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
逆序和排序

# 逆序
lt.reverse()
print(lt)

# 排序
# reverse=True表示降序排序
lt.sort(reverse=True)
print(lt)
1
2
3
4
5
6
7
8
字符串

字符串是 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))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
4. 类型判断

s = 'abcABC2'

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

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

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

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

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

# 是否全是字母或数字
print(s.isalnum())
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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])
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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))
1
2
3
4
5
6
7
8
9
10
11
12
13
6.拓展——ASCII码:美国信息交换标准代码,就是用一个数字表示字符的规范。

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

# ASCII => 字符
print(chr(97))
---------------------
转载,仅作分享,侵删
作者:一只写代码的祁琪
原文:https://blog.csdn.net/ZKK199704/article/details/85304649


1 个回复

倒序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马