首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中从子列表中获取元素

在Python中从子列表中获取元素
EN

Stack Overflow用户
提问于 2020-01-05 23:34:29
回答 1查看 64关注 0票数 2

我有一个.csv文件,其中包含以下4行元素:

代码语言:javascript
复制
dev1, NX-OS, 10.0.0.1, admin, admin
dev2, NX-OS, 10.0.0.2, admin, admin
dev3, NX-OS, 10.0.0.3, admin, admin
dev4, NX-OS, 10.0.0.4, admin, admin

我正在尝试提取其中的任何元素。为了做到这一点,我有以下几点:

代码语言:javascript
复制
import csv
dev_list=[]
infile=open('dev_in.csv','r')
csv_in=csv.reader(infile)

for dev in csv_in:
    dev_list.append(dev)

dev_list的结果是以下列表列表:

代码语言:javascript
复制
[
    ['dev1, NX-OS, 10.0.0.1, admin, admin'],
    ['dev2, NX-OS, 10.0.0.2, admin, admin'],
    ['dev3, NX-OS, 10.0.0.3, admin, admin'],
    ['dev4, NX-OS, 10.0.0.4, admin, admin']
]

为了提取第一个列表的第一个元素,我编写了:

代码语言:javascript
复制
element=dev_list[0]
print(element[0])

然而,结果是我得到了完整的第一个列表:

代码语言:javascript
复制
dev1, NX-OS, 10.0.0.1, admin, admin

也许我应该用' split‘函数来拆分它,但我认为这会不必要地扩展代码。我需要提取每个子列表的第一个元素。但是,稍后我可能需要提取其他元素。

还有别的办法吗?有没有一种更好的方式来写这段代码,也许是提前感谢列表理解。

EN

回答 1

Stack Overflow用户

发布于 2020-01-06 00:00:55

总结我的评论,这里是你需要做的(考虑到Python 3):

代码语言:javascript
复制
import csv
from pathlib import Path

dev_in = Path('dev_in.csv')

devs = list(csv.reader(dev_in.open(), skipinitialspace=True))

for dev in devs:
    # print dev names
    print(dev[0])

上面的代码将给出以下行作为输出:

代码语言:javascript
复制
dev1
dev2
dev3
dev4

这是一个概念的证明:

代码语言:javascript
复制
Python 3.7.5 (default, Dec 15 2019, 17:54:26) 
[GCC 9.2.1 20190827 (Red Hat 9.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import csv
>>> from pathlib import Path
>>> dev_in = Path('dev_in.csv')
>>> 
>>> devs = list(csv.reader(dev_in.open(), skipinitialspace=True))
>>> devs
[['dev1', 'NX-OS', '10.0.0.1', 'admin', 'admin'], ['dev2', 'NX-OS', '10.0.0.2', 'admin', 'admin'], ['dev3', 'NX-OS', '10.0.0.3', 'admin', 'admin'], ['dev4', 'NX-OS', '10.0.0.4', 'admin', 'admin']]
>>> dev=devs[0]
>>> dev
['dev1', 'NX-OS', '10.0.0.1', 'admin', 'admin']
>>> dev[0]
'dev1'
>>>

我希望它能帮上忙。

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

https://stackoverflow.com/questions/59601388

复制
相关文章

相似问题

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