繁体   English   中英

Python:列表中字符串的多个副本

[英]Python: multiple copies of a string in a list

我正在尝试使用字符串列表,其中一些是重复的。 但是我似乎无法获得所需的正确级别的字符串嵌套。

我还是Python的新手,我很困惑。 我阅读了这个答案并尝试实现它,但是字符串列表在某种程度上是一种特殊情况,其行为不同于其他类型的列表吗?

如果我运行:

old_freestream_headings='area,MM static pressure,MM relative mach number,'
old_integral_headings='dp,Impulse:0,Impulse:1,Impulse:2,'
old_forces_headings=('pressure force vector:0,pressure force vector:1,pressure force vector:2,'
                     'viscous force vector:0,viscous force vector:1,viscous force vector:2,')                           
old_headings=[old_freestream_headings*2,old_integral_headings,old_forces_headings*5]
print(filter(None,old_headings[0].split(',')))

结果是:

['area', 'MM static pressure', 'MM relative mach number', 'area', 'MM static pressure', 'MM relative mach number']

这是第一个字符串的两个副本。

相反,如果我运行:

old_freestream_headings='area,MM static pressure,MM relative mach number,'
old_integral_headings='dp,Impulse:0,Impulse:1,Impulse:2,'
old_forces_headings=('pressure force vector:0,pressure force vector:1,pressure force vector:2,'
                     'viscous force vector:0,viscous force vector:1,viscous force  vector:2,')                           
old_headings=[[old_freestream_headings]*2,old_integral_headings,[old_forces_headings]*5]
print(filter(None,old_headings[0].split(',')))

我收到一个错误:

AttributeError: 'list' object has no attribute 'split'

因为我不再拆分字符串了,因为old_headings [0]现在是两个字符串的列表。

我想得到的输出是

['area', 'MM static pressure', 'MM relative mach number']

也就是说,仅将拆分应用于字符串的一个副本。

我究竟做错了什么?

我认为您的意思是将列表一起添加

old_headings = [old_freestream_headings] * 2 + [old_integral_headings] + [old_forces_headings] * 5 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM