- 推导列表
将一个列表转换为另一个列表时怎么做?
普通方法:
clean_mikey = [] #创建新列表 for each_t in mikey: #迭代 clean_mikey.append(sanitize(each_t)) #追加转换列表 函数sanitize()是接收字符串并处理成统一格式然后再输出
新方法:
clean_mikey = [sanitize(each_t) for each_t in mikey]
举例:
#将一个分钟列表转换为一个秒列表 >>>mins = [1,2,3] >>>secs = [m*60 for m in mins] >>>secs [60,120,180] #给定一个包含混合大小和小写字符串的列表,把它们转换成全大写的字符串 >>>lower = ["I","don‘t","like","spam"] >>>feet = [s.upper() for s in lower] >>>upper [‘I‘,"DON‘T",‘LIKE‘,‘SPAM‘]
- 两种排序方式
sort() 原地排序,用排序后的数据替换原数据
sorted() 复制排序,排序后保留原数据
另外:向sort()或sorted()传入reverse=True可以按降序排列数据
- 使用分片来访问一个列表中的多个数据项
my_list[3,6] #从索引位置3到6(但不包括6)
- 使用集合来删除重复项
Python中集合最突出的特性是集合中的数据项是无序的,而且不允许重复
list = [1,1,2,2,4,6,7,8] new_list = set(list) print(new_list) #此时new_list集合即是无序的,且没有重复项
- 4个运动员成绩存放在4个文本里,分别读取并筛选出每个选手跑得最快的3个时间
james 2-34,3:21,2.34,2,45,3.01,2:01,2:01,3:10,2-22
julie 2.59,2.11,2:11,2:23,3-10,2-23,3:10,3.21,3-21
mikey 2:22,3.01,3:01,3.02,3:02,3.02,3:22,2.49,2:38
sarah 2:58,2.58,2:39,2-25,2-25,2:54,2.18,2:55,2:55
思路:1,处理字符串使变成格式统一(写成函数) 2,排序去重(使用set()) 3,取出3个最好成绩(使用列表分片)
时间: 2024-10-13 00:40:21