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

时间:2014-11-12 10:33:08

标签: python string list

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

我仍然是Python的新手,我很困惑。我读了this answer并尝试实现它,但是字符串列表在某种程度上是一种特殊情况,其行为与其他类型的列表不同?

如果我跑:

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']

即,将split应用于该字符串的一个副本。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

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