如何在Python中从列表中删除字符串

2024-04-20 07:31:57 发布

您现在位置:Python中文网/ 问答频道 /正文

列表的第一个元素是字符串,其余元素是数字。我想在数字之间执行数学运算,比如中值等,但我不能删除字符串中的第一个元素a.k.a,因为我一直会遇到这个错误

AttributeError: 'str' object has no attribute 'pop'

我试着砰的一声,把它拿走

with open('/Users/solidaneziri/Downloads/Data_Exercise_1.txt') as infile:
    for line in infile:
        alter = line.split()[0]
        alter.pop()
        statistics.median(alter)

print(Alter)

Alter
28
25
28
26
22
20
25
21
21
25
24
25
26
22
26
20
27
22
22
26
23
20
22
26
24
22
20
20
19
21
19
19
33
23
21
29
21
25
26
19
23
20
25
21

输入(alter) 产出=中位数的22.5


Tags: 字符串元素列表object错误line数字数学
3条回答

通过不包含0索引来删除字符串,然后将表示数字的字符串转换为实际浮点数,以便在计算中使用它们

with open('/Users/solidaneziri/Downloads/Data_Exercise_1.txt') as file:
    for line in file:
        numbers = line.split()[1:]
        numbers = map(float, numbers)
        statistics.median(numbers)

只需跳过第一行next使用文件迭代器的一个元素:

import statistics

with open('/Users/solidaneziri/Downloads/Data_Exercise_1.txt') as infile:
    header = next(infile)
    data = [int(line.split()[0]) for line in infile]
print(statistics.median(data))

输出:

22.5

您的错误是在line.split()[0]处取List的第一个元素

如果每一行由一个后跟数字的字符串组成,并且您只想删除第一个字符串,则应按如下方式执行:

with open('/Users/solidaneziri/Downloads/Data_Exercise_1.txt') as infile:
    for line in infile:
        alter = line.split()
        alter.pop(0)
        statistics.median(line)

还要注意的是,您必须引入一个List位置的索引,您要使用pop()删除该位置

相关问题 更多 >