2024-04-25 01:26:03 发布
网友
s = 'ABBCbDAbCdC' a = 100
用这些,我想列一个清单:
list = ['100', '101', '102', '103', '105', '106', '108', '110']
我的主要目标是通过忽略小写字母来创建一个从整数(a =100)开始的数字列表,该整数对应于字符串中的字母。你知道吗
a =100
python有什么解决方案吗?我将把这个解决方案应用于一个由许多字段和行组成的大文件。你知道吗
马蒂恩的回答确实是最好的。我试过使用^{}和^{}函数1。你知道吗
>>> filter(None,map(lambda x:str(x[0]) if x[1].isupper() else None,enumerate(s,a))) ['100', '101', '102', '103', '105', '106', '108', '110']
请注意,与列表理解相比,这是非常缓慢的。下面提到的另一个lambda表达式Pochmann是lambda x: x[1].isupper() and str(x[0])。两个lambda之间的差异可以忽略不计。你知道吗
lambda
lambda x: x[1].isupper() and str(x[0])
1任何列表组件都可以使用这些功能进行替换
您可以使用^{} function来创建一个计数器,第二个参数是起始值,如果需要,可以将其设置为a。你知道吗
a
要测试字符串是否为大写,请使用^{} method。你知道吗
在列表中与过滤器结合在一起,可提供:
[str(number) for number, char in enumerate(s, a) if char.isupper()]
这将对s中从a开始的所有字符进行编号,但只包括输出列表中字符为大写的那些数字;这些数字将转换为字符串:
s
>>> s = 'ABBCbDAbCdC' >>> a = 100 >>> [str(number) for number, char in enumerate(s, a) if char.isupper()] ['100', '101', '102', '103', '105', '106', '108', '110']
马蒂恩的回答确实是最好的。我试过使用^{} 和^{} 函数1。你知道吗
请注意,与列表理解相比,这是非常缓慢的。下面提到的另一个
lambda
表达式Pochmann是lambda x: x[1].isupper() and str(x[0])
。两个lambda
之间的差异可以忽略不计。你知道吗1任何列表组件都可以使用这些功能进行替换
您可以使用^{} function 来创建一个计数器,第二个参数是起始值,如果需要,可以将其设置为
a
。你知道吗要测试字符串是否为大写,请使用^{} method 。你知道吗
在列表中与过滤器结合在一起,可提供:
这将对
s
中从a
开始的所有字符进行编号,但只包括输出列表中字符为大写的那些数字;这些数字将转换为字符串:相关问题 更多 >
编程相关推荐