首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使for循环使用整个字符串而不是仅使用一个元素

如何使for循环使用整个字符串而不是仅使用一个元素
EN

Stack Overflow用户
提问于 2021-11-10 15:42:50
回答 2查看 58关注 0票数 0

我有一份数据文件的清单

print(crypto)

代码语言:javascript
复制
              Ticker       Site                             Date
0           Dogezilla-(DOGEZILLA)-    Hotbit   Fri, 29 Oct 2021 11:19:14 +0000
1                    Epanus-(EPS)-    Hotbit   Fri, 29 Oct 2021 10:48:16 +0000
2           Gods-Unchained-(GODS)-      OKEX   Fri, 29 Oct 2021 08:43:12 +0000
3                       LIQ-(LIQ)-      OKEX   Fri, 29 Oct 2021 08:33:13 +0000
4              Samoyedcoin-(SAMO)-      OKEX   Fri, 29 Oct 2021 07:33:11 +0000
5                GameZone-(GZONE)-      OKEX   Fri, 29 Oct 2021 07:23:11 +0000
6                   Aurory-(AURY)-    Kucoin   Fri, 29 Oct 2021 06:53:12 +0000
7             BASIC-Token-(BASIC)-    Kucoin   Fri, 29 Oct 2021 06:43:15 +0000
8                   Exeedme-(XED)-    Kucoin   Fri, 29 Oct 2021 06:38:12 +0000
9                 Metahero-(HERO)-    Kucoin   Fri, 29 Oct 2021 06:23:11 +0000

清单是

代码语言:javascript
复制
Tick = list(crypto['Ticker'])
Tick = re.sub(r'-\(.*?\)-','', str(Tick))


['Dogezilla', 'Epanus', 'Gods-Unchained', 'LIQ', 'Samoyedcoin', 'GameZone', 'Aurory', 'BASIC-Token', 'Exeedme', 'Metahero', 'Smart-Valley', 'Dollar-Factory-Finance', 'YDragon', 'Sushi', 'YooShi', 'Gogeta-Inu', 'Songbird', 'OmiseGO', 'Synthetix-Network-Token', 'Sushi', 'PancakeSwap', 'SHIBA-INU', 'Axie-Infinity-Shards']

如果我做了一个for循环

[print(item) for item in Tick]

它将给出一个逐个字母的输出

代码语言:javascript
复制
[
'
D
o
g
e
z
i
l
l
a
'
,
 
'
E
p
a
n
u
s
'

我想要做的是做一个for循环,看起来像

[cg.get_price(ids=item, vs_currencies='usd') for item in Tick]

然而,这只是一封又一封地中断了功能。因此,如果我想要一个函数,将列表中的每个字符串放入ids输入中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-10 15:58:38

编辑:使用AKX答案中的代码,并在此基础上构建:

代码语言:javascript
复制
crypto['Ticker'] = crypto['Ticker'].str.replace(r'-\(.*?\)-', '', regex=True)
crypto['Price'] = crypto['Ticker'].transform(lambda item: cg.get_price(ids=item, vs_currencies='usd'))

我认为您的代码没有执行您想要的操作,因为在执行Tick ( list)时,要将str(Tick)转换为str。而不是

代码语言:javascript
复制
Tick = list(crypto['Ticker'])
Tick = re.sub(r'-\(.*?\)-','', str(Tick))

代码语言:javascript
复制
Tick = [i.split('-(')[0] for i in crypto['Ticker']]

并反复讨论。

票数 0
EN

Stack Overflow用户

发布于 2021-11-10 15:59:52

右-鉴于crypto是Pandas的信息,而crypto['Ticker']引用了其中的一个系列,您可能需要

代码语言:javascript
复制
crypto['Ticker'] = crypto['Ticker'].replace(r'-\(.*?\)-', '', regex=True)

把这些代码固定在原地。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69916182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档