将list的所有子项的元素转为str
时间: 2023-11-12 21:05:36 浏览: 51
可以使用列表推导式和内置函数`map`将list的所有子项的元素转为str,示例代码如下:
```python
my_list = [1, 2, [3, 4], 5, ['a', 'b', 'c']]
new_list = [str(x) if type(x) != list else list(map(str, x)) for x in my_list]
print(new_list)
```
输出结果为:
```
['1', '2', ['3', '4'], '5', ['a', 'b', 'c']]
```
其中,`type(x)` 判断 x 的类型是否为 list,如果是则使用 `map(str, x)` 将其转换为 str 类型的列表。如果不是,则直接使用 `str(x)` 将其转换为字符串。最终,使用列表推导式将转换后的结果存入新列表 `new_list` 中。
相关问题
如何删除list的所有子项中所有等于0.0的数据
可以使用两层循环和列表推导式来删除列表中所有子项中等于0.0的数据,具体实现如下:
```
my_list = [[1.0, 2.0, 0.0], [3.0, 0.0, 4.0], [0.0, 5.0, 6.0]]
my_list = [[x for x in sub_list if x != 0.0] for sub_list in my_list]
print(my_list)
```
输出结果为:
```
[[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]]
```
其中,`[x for x in sub_list if x != 0.0]`表示将每个子列表中所有不等于0.0的元素放入一个新的列表中,从而达到删除子项中等于0.0的数据的效果。外层循环遍历所有的子列表,并对其进行内层循环操作。
UNity隐藏GameObject下的所有子项SetActive
可以使用以下代码来隐藏一个 GameObject 下的所有子对象:
```csharp
public static void SetChildrenActive(GameObject parent, bool active)
{
foreach (Transform child in parent.transform)
{
child.gameObject.SetActive(active);
}
}
```
这个函数接受一个 `GameObject` 和一个布尔值参数 `active`,如果 `active` 为 `true`,则将所有子对象设置为激活状态,否则将它们设置为非激活状态。
在函数内部,我们使用 `foreach` 循环遍历 `parent` 的所有子对象,然后调用 `SetActive()` 方法来设置它们的激活状态。