首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表分离

Python列表分离
EN

Stack Overflow用户
提问于 2015-10-28 03:10:50
回答 2查看 50关注 0票数 0

我试图将一个由两个字符串组成的列表分开:

  • 密码散列
  • 用户名

(例如['9434e user1', '8434f user2']等)。

我试图为哈希值创建一个列表,为用户名创建一个列表。

我试过了

代码语言:javascript
复制
for x in range(len(list)): 
    newList.append(list[:5])

试图获得哈希值的列表,但我只是得到一个由一个项组成的列表,该项是整个原始列表。

在python中获得两个不同列表中的两个独立部分的最佳方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2015-10-28 03:17:26

代码语言:javascript
复制
>>> hsh, names = zip(*(x.split() for x in ['9434e user1', '8434f user2']))
>>> hsh
('9434e', '8434f')
>>> names
('user1', 'user2')

说明:这部分只是把项目分开。

代码语言:javascript
复制
>>> [x.split() for x in ['9434e user1', '8434f user2']]
[['9434e', 'user1'], ['8434f', 'user2']]

现在有一个很好的成语来转换这个列表。

代码语言:javascript
复制
zip(*foo) # transposes foo
票数 2
EN

Stack Overflow用户

发布于 2015-10-28 03:18:22

以下是两种选择:

代码语言:javascript
复制
strings = ['9434e user1', '8434f user2']
hashes = []
users = []
for string in strings:
    this_hash = string.split()[0]
    this_user = string.split()[1]
    hashes.append(this_hash)
    users.append(this_user)

代码语言:javascript
复制
hashes2 = [string.split()[0] for string in strings]
users2 = [string.split()[1] for string in strings]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33382262

复制
相关文章

相似问题

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