首页 AI Studio教育版 帖子详情
百度领航团基础python第二天笔记和作业
收藏
快速回复
AI Studio教育版 文章课程答疑 628 1
百度领航团基础python第二天笔记和作业
收藏
快速回复
AI Studio教育版 文章课程答疑 628 1

课节2: Python编程基础
作业二:Python编程基础(二)

课程地址:https://aistudio.baidu.com/aistudio/education/group/info/7073


## 文章目录

字符串进阶
索引,切片
字符串一些函数:
字符串的格式化输出
一种可读性更好的方法 f-string
list进阶
列表每一项的操作
生成器
总结

## 字符串进阶
**索引,切片**
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/e80707083d58c4ae53adb910d88cde0e.png)

切片的语法:[起始:结束:步长] 字符串[start: end: step] 这三个参数都有默认值,默认截取方向是从左往右的 start:默认值为0; end : 默认值未字符串结尾元素; step : 默认值为1;如果切片步长是负值,截取方向则是从右往左的。
**字符串常用函数:**

```python
string = '人生苦短 我用python'
#find() 检测字符串是否包含,返回该字符串位置,如果不包含返回-1
string.find('python') #返回值:7
string.find('我')#返回值:5,这里需要注意下:空格也是一个字符。我前面有个空格,所以我位置是5
string.find('a')#返回值:-1,并不包含在字符串string中,如果不包含返回-1
#index() 检测字符串是否包含指定的字符,并返回开始的索引值,如果不包含会报错
string.index('python')#返回值:7
string.index('我')#返回值:5
#string.index('a')#字符串string不包含a,出现报错
#len() 返回字符串长度,以0开始计算
len(string) #返回值:13
#count() 收集指定字符在字符串中出现的次数
string.count("o") #返回值:1, o字符在'人生苦短 我用python'中存在一个。
#replace() 替换字符串
string.replace('python','PYTHON')#把小写的python替换成大写的PYTHON
string.replace('苦','ku')#把苦替换成ku
#split() 字符串切割
string.split(' ') #以列表的形式返回['人生苦短', '我用python'] ,'人生苦短 我用python'被空格切割掉
#upper() 将所有的字符转换为大写
string.upper() #返回值为 '人生苦短 我用PYTHON'
string.lower()#将所有字符转换为小写
string.title()#首字母转换为大写
#center() 返回一个原字符串居中,并以空格填充至长度宽度的新字符串
string .center(80) #返回值: ( 人生苦短 我用Python) 其字符串两头被空格填充
#join() 在字符串后面插入一个指定字符,构造一个新的字符串
```

**字符串的格式化输出**
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/8b5bc4bcf8872f671e8c73ba5486e27d.png#pic_center)
**一种可读性更好的方法 f-string**

```python
name = 'Molly'
hight = 170.4
score_math = 95
score_english = 89
print(f"大家好!我叫{name},我的身高是{hight:.3f} cm, 数学成绩{score_math}分,英语成绩{score_english}分")
```

## list进阶

```python

list.append(obj)#在列表结尾添加新的对象
list.count(obj)#统计某个元素在列表中出现的次数
list.extend(obj)#在列表末尾一次性追加另一个序列的多个值(用新列表扩展原列表)
list.index(obj)#从列表中找出某个值第一个匹配项的索引位置
list.insert(index,obj)#将对象插入列表
list.pop([index=-1])#移除列表中的一个元素(默认为最后一个元素),并返回该元素
list.remove(obj)#移除列表中某个值得第一个匹配项
list.reverse()#反向列表中的元素
list.sort(key = None, reverse = False)#对原列表进行排序
list.clear()#清空列表
list.copy()#复制列表
```

**生成器**
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。

```python
L = [x * x for x in range(10)]
g = (x * x for x in range(10))
next(g)
g = (x * x for x in range(10))
for n in g:
print(n)
```

 

 


## 作业二:Python编程基础(二)

**按要求补全下列代码:**
1. 选取列表的第2到第5项,并打印(从0开始计数,即取出c d e f)

```python
words = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']

# 选取第2-5项,并打印
print(words[2:6])
```

2.2. 使用列表生成式的方法,根据 list1 生成 list2
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
list2 = [100, 200, 300, 400, 500, 600, 700, 800]

```python
list1 = [1, 2, 3, 4, 5, 6, 7, 8]
# 列表推导式生成list2
list2 = []
for i in range(len(list1)):
if list1[i]>0:
list1[i] = list1[i] * 100
list2.append(list1[i])
print(list2)
```
3.3. 把下列字符串按下划线('_')划分成若干个片段
string1 = 'this_is_a_sample'
生成按'_'划分的字符串列表,即下列内容
['this', 'is', 'a', 'sample']

```python
string1 = 'this_is_a_sample'

# 按'_'划分string1
string1.split('_')
```

0
收藏
回复
全部评论(1)
时间顺序
AIStudio810258
#2 回复于2021-02

笔记好认真,666

0
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户