Understanding Lists in Blender

I’m a bit confused about how lists are handled in Blender’s ID Properties.

If I create an ID list property by assigning an empty list, I get an “IDPropertyArray” class type:

>>> C.scene['my_list'] = []
>>> type(C.scene['my_list'])
<class 'IDPropertyArray'>

But if I create an ID list property by assigning it a list of strings, I get a “list” class type:

>>> C.scene['my_list'] = ['a','b']
>>> type(C.scene['my_list'])
<class 'list'>

The first type of list has only two user methods: typecode and to_list.
The second type of list has all the “normal” list methods (including append), but they don’t seem to work (append doesn’t actually change the list).

Can anyone give any advice about how to efficiently use lists that are to be saved in ID properties?

you are using scene property
it has some types that exist
check out API for available types

https://www.blender.org/api/blender_python_api_2_77a_release/info_api_reference.html?highlight=property
https://www.blender.org/manual/data_system/custom_properties.html?highlight=properties

and you got the other type Prop for operators

happy bl