如何拆分列表中的字符串元素(Python)

2024-09-27 23:17:59 发布

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

我对Python很陌生,希望你能帮助我。在

我有一个名为reviewerdetails的字符串列表,其中包含Hostelworld上审阅者的信息。在每个字符串中,有三个元素:国家、性别和审阅者的年龄组。例如,第一个案例如下:

'\n                Belgium,                Female,                18-24            '

我想为这三个元素创建三个单独的列表,但是我不确定如何在列表中选择字符串中的元素?我试过.split函数,但得到了错误

^{pr2}$

我发现了这样一个问题:split elements of a list in python这种尝试确实是我想做的,但我不知道如何应用我的问题的答案。在


Tags: 函数字符串信息元素列表国家female案例
3条回答

尝试使用列表理解:

output = [input[i].split( do whatever you need to in here ) for i in range(len(input))]

split函数是string的成员,而不是list的成员,因此需要将该函数应用于列表中的每个元素,而不是列表本身。在

像这样,使用split并过滤空字符串。在

mylist = [x.strip() for x in reviewerdetails.split(" ") if len(x.strip()) > 0];

不幸的是,我们不能在列表理解中使用赋值,所以这需要在显式的for循环中完成(如果我们不想调用.split并迭代3次)

li = ['\n                Belgium,                Female,            18- 24           ',
      '\n                Belgium,                Male,              18-24            ']

li = [elem.split() for elem in li]
print(li)
# [['Belgium,', 'Female,', '18-24'], ['Belgium,', 'Male,', '18-24']]
countries, genders, ages = [], [], []
for elem in li:
    countries.append(elem[0])
    genders.append(elem[1])
    ages.append(elem[2])

print(countries)
print(genders)
print(ages)
# ['Belgium,', 'Belgium,']
# ['Female,', 'Male,']
# ['18-24', '18-24']

相关问题 更多 >

    热门问题