我正在尝试使用字符串列表,其中一些是重复的。但我似乎无法获得所需的正确级别的字符串嵌套。
我仍然是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应用于该字符串的一个副本。
我做错了什么?
答案 0 :(得分:1)
我认为你的意思是一起添加列表
old_headings = [old_freestream_headings] * 2 + [old_integral_headings] + [old_forces_headings] * 5