python - 一本书的词汇表
问题描述
我想根据输入打印一本书的标题和副标题,其中 1x'#' 表示标题,2x'#' 表示副标题
输入:
mylist=['# algorithm','blah basfafasfsa','## Sorting','xascxas',"#Data structrues","#BST"]
输出:
- 算法
1.1 排序
- 数据结构
这是我尝试过但无法获得所需输出的方法:
def index(mylist):
count=0
count1=0
for item in mylist:
if item.startswith("#"):
count+=1
print(str(count+"."+item[2:]))
elif item.startswith("##"):
count1+=1
print(str(count+"."+count1+"."+item[2:]))
解决方案
您需要交换您的条件,因为startswith("#")
字符串始终为真,#abc
并且##abc
在遇到新主题时重新初始化子主题计数器。此代码有效:
def index(mylist):
count = 0
count1 = 0
for item in mylist:
if item.startswith("##"):
count1 += 1
print(f"{count}.{count1}{item[2:]}")
elif item.startswith("#"):
count += 1
count1 = 0
print(f"{count}.{item[2:]}")
mylist=['# algorithm', 'blah basfafasfsa', '## Sorting', 'xascxas', "# Data structrues", "## Trees", "# BST"]
输出:
1. algorithm
1.1 Sorting
2. Data structrues
2.1 Trees
3. BST
推荐阅读
- c - 如何在 C 中将大型数据集传递给没有参数的函数
- sql - 在sql上添加保证的where条件可以提高性能吗?
- r - 此代码是否产生重叠的日期分组,或者它们是互斥的?
- python - Python:如何找到一年中的第 n 个工作日?
- php - 用 PHP 格式化时间戳
- php - CheckMarx - 文件操作漏洞 - php
- java - 迭代 Spark 数据集的行并在 Java API 中应用操作
- ruby-on-rails - Ruby on rails 教程 - 第 11 章 - 身份验证在开发而非生产中工作
- oauth-2.0 - Oauth2 refresh_token 混淆
- matrix - 如何获取pyspark数据框的相关矩阵?新的 2020