python - 切片列表中的每个项目
问题描述
我有一个包含大约 3000 行的 CSV 文件,我已将其作为字符串列表导入 Python 以获得以下内容;
mylist = [('GA0001.abc.123',), ('GA0002.456.cba',), ('GA0003.321.abc',), ('GA0004.xyz.789',)]
有没有办法可以对所有字符串进行切片以删除最后 8 个字符,以便列表如下所示:
newlist = [('GA0001',), ('GA0002',), ('GA0003',), ('GA0004',)]
我已经尝试过[x[:-8] for x in mylist]
,但只是返回[(), (), (), ()]
解决方案
我认为问题在于您的原始列表是字符串元组的列表。如果您的原始列表是字符串列表,该解决方案将起作用,但在您的情况下,我们需要:[x[:-8] for x in mylist]
mylist = [('GA0001.abc.123',), ('GA0002.456.cba',), ('GA0003.321.abc',), ('GA0004.xyz.789',)]
newlist = [x[0][:-8] for x in mylist]
print(newlist)
输出:
['GA0001', 'GA0002', 'GA0003', 'GA0004']
注意x[0][:-8]
而不是x[:-8]
.
推荐阅读
- python - 无法从转换后的冻结集合 python 3 中获取值
- java - 访问列表中的列表
- python - 如何编写正则表达式来匹配由 3 个斜杠分隔的字符?
- reactjs - GraphQL 错误:预期类型为 Int。Int 不能表示非整数值
- html - Layer the circle(div) at the middle on the img pic
- floating-point - 检索浮点运算中丢失的数字
- javascript - States For Login Page
- c# - 将进度条添加到WPF中ListBox ItemTemplate的DataTemplate但当前上下文中不存在?
- c# - NullReferenceException: Object reference not set to an instance of an object when trying to create a cascading dropdown list in ASP.NET Core MVC
- android - why my Android notification can't be clicked to go inside my app?