是否可以使用分隔符对列表中的字符串进行切片
当我使用sep = ":"
并尝试切片时,我得到了一个错误,即切片只能通过数字索引进行。我想对:
分隔符上的每个字符串进行切片
['Brandon:5', 'Patrick:18.9', 'Brandon:xyz', 'Jack:', 'Sarah:825', 'Jack:45', 'Brandon:10', 'James:3.25', 'James:125.62', 'Sarah:2.43', 'Brandon:100.5']
text2 = ['Brandon:5', 'Patrick:18.9', 'Brandon:xyz', 'Jack:', 'Sarah:825', 'Jack:45', 'Brandon:10', 'James:3.25', 'James:125.62', 'Sarah:2.43', 'Brandon:100.5']
sep = ':'
text3 = [w[:sep] for w in text2]
输出:
TypeError: slice indices must be integers or None or have an __index__ method
更新
代码引发错误的原因是,您需要将字符的索引作为片段传递,并且字符本身:
Mark Meyer的解决方案是最优的,但对初学者不太友好
以下是一个逐步的过程:
让我们将其分配给一个变量,以便稍后在程序中访问它:
names
和numbers
,以便以后存储检索到的名称和数字李>lst
列表,并在":"
处拆分每个字符串:s.split(":")
列表中的两个值分配到两个变量name
和number
:总共:
输出:
可以使用^{} 拆分列表中的每个字符串。这将为您提供一个列表列表。您可以比zip更详细地了解这一点,并将其解压缩到单独的列表中:
names
将是:而{}将是:
('5', '18.9', 'xyz', '', '825', '45', '10', '3.25', '125.62', '2.43', '100.5')
相关问题 更多 >
编程相关推荐