簡體   English   中英

如何從 Python 中的列表中刪除字符串

[英]how to remove a string from a list in Python

列表的第一個元素是字符串,其余元素是數字。 我想在諸如中位數等數字之間執行數學運算,但我無法刪除第一個元素,即字符串,因為我不斷收到此錯誤

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

輸入(更改)輸出 = 22.5 中位數

只需跳過第一行。 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

你可以使用這樣的東西:

import statistics
list_ = []
with open('1.txt') as infile:
    for line in infile:
        if line.split()[0].isdigit():
            list_.append(int(line.split()[0]))
statistics.median(list_)

您的錯誤是在line.split()[0]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)

還要注意,您必須引入要使用pop()刪除的List位置的索引。

通過不包括 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)

test_list = ["壞", 2, 4, 6 ,1, 3]

打印(“原始列表:” + str(test_list))

R = "壞"

while(R in test_list) :

test_list.remove(R) 

  

print("刪除字符串后的列表" + str(test_list))

my_list = [“一”、“二”、“三”、“四”、“五”、“六”] 打印(my_list)

假設我想要刪除一和四

my_list.pop(3) my_list.pop(0) 打印(my_list)

#輸出將是

[“二”、“三”、“五”、“六”]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM