Python基础刻意练习:列表与元组

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_44568780/article/details/102537583

本系列定位为复习笔记,某些内容并未提及。
在此记录一些典型疑问和我在学习中的问题或经常遗忘的细节,也会添加一些觉得有意思的部分(其实就是随心所欲
内容主要使用代码进行传达

他们有以下共同点:

1)都可以通过索引得到每一个元素
2)默认索引值总是从0开始(当然灵活的Python还支持负数索引)
3)可以通过分片的方法得到一个范围内的元素的集合
4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)

把一个可迭代对象转换为列表、元组和字符串:

list([iterable]) 把可迭代对象转换为列表
tuple([iterable]) 把可迭代对象转换为元组
str(obj) 把对象转换为字符串

>>> temp = 'I love FishC.com!'
>>> list(temp)
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'F', 'i', 's', 'h', 'C', '.', 'c', 'o', 'm', '!']

python负数索引:

在这里插入图片描述

分片:

>>> list1[0:6:2]
[1, 2, 7]

列表与字符串相互转化:

>>> list1=['ak','uk',4]
>>> list2=[str(i) for i in list1]    #使用列表推导式把列表中的单个元素全部转化为str类型
>>> list2    #查看转化后的列表
['ak', 'uk', '4']
>>> list3=' '.join(list2)    #把列表中的元素放在空串中,元素间用空格隔开
>>> list3    #查看生成的长串
'ak uk 4'


>>> list3=''.join(list2)
>>> list3
'akuk4'

迭代的概念:

所谓迭代,是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。

BIF:

list(iterable)把一个可迭代对象转换为列表
tuple(iterable)把一个可迭代对象转换为元组
str(sub)把对象转换为字符串
len(iterable)返回长度
max...)返回序列或者参数集合中的最大值
min...)返回序列或者参数集合中的最小值
sum(iterable[,start = 0])返回序列iterable和可选参数start的总和
sorted(iterable)排序,默认从小到大排序,与list.sort()类似
reversed(iterable)返回的是一个迭代器对象,通过listreversed(iterable))可以得到iterable的倒序
enumerate(iterable),枚举,生成由每个元素的index值和元素值组成的元组。也是一个对象。

红圈为元组可用的方法:
在这里插入图片描述

在拼接只有一个元素的元组的时候逗号和小括号必须同时存在,缺一不可:

temp = (‘小甲鱼’, ‘黑夜’, ‘迷途’, ‘小布丁’)
# 如果我想在“黑夜”和“迷途”之间插入“怡静”,我们应该:
temp = temp[:2] + (‘怡静’,) + temp[2:]

列表推导式:

>>> [i*i for i in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


>>> [x for x in range(0,101) if x%3==0]
[0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]


>>> [x%3 for x in range(0,101) if x%3==0]
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

题目:列表推导式

在这里插入图片描述
答案:

 list3 = [name + ':' + slogan[2:] for slogan in list1 for name in list2 if slogan[0] == name[0]]

猜你喜欢

转载自blog.csdn.net/weixin_44568780/article/details/102537583