【问题标题】:How can i append every string in a list into a list? [closed]如何将列表中的每个字符串附加到列表中? [关闭]
【发布时间】:2020-08-10 00:11:32
【问题描述】:

所以我得到了这个列表:

[' Wins 376 #2,258,590 Win % 52.7% #2,043,164 Kills 2,396 #2,202,841 KD 1.01 #2,327,891 ', ' Wins 147 Win % 53.3% Kills 918 K/D 1.05 ', ' Headshot % 43.07% #1,022,726 KD 1.01 #2,327,891 Deaths 2,361 #2,333,651 Headshots 1,032 #1,959,486 Wins 376 #2,258,590 Losses 337 #2,422,718 Win % 52.7% #2,043,164 Time Played 164h #2,450,537 Matches Played 713 #2,341,103 Total XP 6,138,745 #2,351,090 Melee Kills 110 #880,508 Blind Kills 3 #1,820,018 ', ' Time Played 121h 1m 21s #2,077,653 Wins 294 #1,967,656 Losses 264 #2,055,170 Matches 558 #2,014,995 Deaths 1,751 #1,941,493 Kills 1,775 #1,870,100 Win % 52.7% #2,370,676 KD 1.01 #2,469,095 Kills/match 3.18 #1,906,054 Kills/min 0.24 #1,553,218 ', ' Time Played 11h 39m 27s #2,992,790 Wins 18 #2,713,886 Losses 14 #3,233,844 Matches 32 #2,996,579 Deaths 140 #3,027,150 Kills 128 #2,862,140 Win % 56.2% #225,565 KD 0.91 #1,872,850 Kills/match 4.00 #1,851,780 Kills/min 0.20 #1,949,224 ', ' K/D 1.00 Kills/Match 4.40 Kills 66 Deaths 66 Win % 53.33 Wins 8 Losses 7 Abandons 0 Rank GOLD III Max Rank GOLD III MMR 2,679 Max MMR 2,776 ', ' K/D 0.75 Kills/Match 3.00 Kills 3 Deaths 4 Win % 0.00 Wins 0 Losses 1 Abandons 0 Rank - Max Rank - MMR 2,377 Max MMR 0 ']

我想要上面列表中的每个字符串,例如。 Wins376 在单独的列表中,因为它在列表中拥有自己的对象。

我怎样才能做到这一点?

【问题讨论】:

  • 欢迎。您可以分享您尝试解决问题的代码吗?您遇到过哪些类型的问题?

标签: python beautifulsoup


【解决方案1】:
s = ['  Wins  376   #2,258,590   Win %  52.7%   #2,043,164   Kills  2,396   #2,202,841   KD  1.01   #2,327,891  ', '  Wins 147    Win % 53.3%    Kills 918    K/D 1.05   ', '  Headshot %  43.07%   #1,022,726   KD  1.01   #2,327,891   Deaths  2,361   #2,333,651   Headshots  1,032   #1,959,486   Wins  376   #2,258,590   Losses  337   #2,422,718   Win %  52.7%   #2,043,164   Time Played  164h   #2,450,537   Matches Played  713   #2,341,103   Total XP  6,138,745   #2,351,090   Melee Kills  110   #880,508   Blind Kills  3   #1,820,018  ', '  Time Played  121h 1m 21s   #2,077,653   Wins  294   #1,967,656   Losses  264   #2,055,170   Matches  558   #2,014,995   Deaths  1,751   #1,941,493   Kills  1,775   #1,870,100   Win %  52.7%   #2,370,676   KD  1.01   #2,469,095   Kills/match  3.18    #1,906,054   Kills/min  0.24   #1,553,218  ', '  Time Played  11h 39m 27s   #2,992,790   Wins  18   #2,713,886   Losses  14   #3,233,844   Matches  32   #2,996,579   Deaths  140   #3,027,150   Kills  128   #2,862,140   Win %  56.2%   #225,565   KD  0.91   #1,872,850   Kills/match  4.00   #1,851,780   Kills/min  0.20   #1,949,224  ', '   K/D   1.00     Kills/Match   4.40     Kills   66     Deaths   66    Win % 53.33    Wins 8    Losses 7    Abandons 0    Rank GOLD III    Max Rank GOLD III    MMR 2,679    Max MMR 2,776   ', '   K/D   0.75     Kills/Match   3.00     Kills   3     Deaths   4    Win % 0.00    Wins 0    Losses 1    Abandons 0    Rank -    Max Rank -    MMR 2,377    Max MMR 0   ']
# ss = [[j for j in i.split(" ") if j != ""] for i in s ]
ss = [i.split() for i in s] # more efficient
for i in ss:
    print(i)
['Wins', '376', '#2,258,590', 'Win', '%', '52.7%', '#2,043,164', 'Kills', '2,396', '#2,202,841', 'KD', '1.01', '#2,327,891']
['Wins', '147', 'Win', '%', '53.3%', 'Kills', '918', 'K/D', '1.05']
['Headshot', '%', '43.07%', '#1,022,726', 'KD', '1.01', '#2,327,891', 'Deaths', '2,361', '#2,333,651', 'Headshots', '1,032', '#1,959,486', 'Wins', '376', '#2,258,590', 'Losses', '337', '#2,422,718', 'Win', '%', '52.7%', '#2,043,164', 'Time', 'Played', '164h', '#2,450,537', 'Matches', 'Played', '713', '#2,341,103', 'Total', 'XP', '6,138,745', '#2,351,090', 'Melee', 'Kills', '110', '#880,508', 'Blind', 'Kills', '3', '#1,820,018']
['Time', 'Played', '121h', '1m', '21s', '#2,077,653', 'Wins', '294', '#1,967,656', 'Losses', '264', '#2,055,170', 'Matches', '558', '#2,014,995', 'Deaths', '1,751', '#1,941,493', 'Kills', '1,775', '#1,870,100', 'Win', '%', '52.7%', '#2,370,676', 'KD', '1.01', '#2,469,095', 'Kills/match', '3.18', '#1,906,054', 'Kills/min', '0.24', '#1,553,218']
['Time', 'Played', '11h', '39m', '27s', '#2,992,790', 'Wins', '18', '#2,713,886', 'Losses', '14', '#3,233,844', 'Matches', '32', '#2,996,579', 'Deaths', '140', '#3,027,150', 'Kills', '128', '#2,862,140', 'Win', '%', '56.2%', '#225,565', 'KD', '0.91', '#1,872,850', 'Kills/match', '4.00', '#1,851,780', 'Kills/min', '0.20', '#1,949,224']
['K/D', '1.00', 'Kills/Match', '4.40', 'Kills', '66', 'Deaths', '66', 'Win', '%', '53.33', 'Wins', '8', 'Losses', '7', 'Abandons', '0', 'Rank', 'GOLD', 'III', 'Max', 'Rank', 'GOLD', 'III', 'MMR', '2,679', 'Max', 'MMR', '2,776']
['K/D', '0.75', 'Kills/Match', '3.00', 'Kills', '3', 'Deaths', '4', 'Win', '%', '0.00', 'Wins', '0', 'Losses', '1', 'Abandons', '0', 'Rank', '-', 'Max', 'Rank', '-', 'MMR', '2,377', 'Max', 'MMR', '0']

【讨论】:

  • 谢谢!我对 Python 比较陌生,所以谢谢你的回答。
  • 在一个空格' ' 上拆分然后删除所有空字符串是低效的。只需使用不带参数的split,默认情况下它会拆分任何种类和数量的空白。所以,应该只是ss = [i.split() for i in s ]
  • @ThierryLathuille 是的,很好。我已经更新了解决方案。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 2018-09-13
  • 2021-12-09
  • 2018-09-25
  • 1970-01-01
  • 2022-11-23
相关资源
最近更新 更多