【问题标题】:Python - Unpack lists and join into a stringPython - 解包列表并加入字符串
【发布时间】:2015-05-19 02:44:57
【问题描述】:

我是 Python 新手,但我有 Perl 编码经验。

我想知道是否有一种优雅的方式将列表“加入”到字符串中,就像 Python 中的 Perl 示例一样。

my $brands = [ qw( google apple intel qualcomm ) ]; #1st List  
my $otherBrands = [ qw( nike reebok puma ) ]; #2nd List  

say join ':' , ( @{$brands} , @{$otherBrands} );  
# print "google:apple:intel:qualcomm:nike:reebok:puma"

我已经搜索了一段时间,但大多数答案都是使用 * 进行解包,这在我的情况下是不可行的。

【问题讨论】:

  • ':'.join(['google', 'apple', 'intel', 'qualcomm', 'nike', 'reebok', 'puma'])
  • 我不会在我的代码中硬编码这些品牌。我打算做的是将所有元素加入 2 个变量中。

标签: python perl


【解决方案1】:

您可以使用+ 加入两个列表,并使用join 加入它们。

brands = ["google", "apple", "intel", "qualcomm"]
otherBrands = ["nike", "reebok", "puma"]

print ":".join(brands + otherBrands)

如果您正在 Perl 中寻找类似于 qw 的语法(以创建不带引号的字符串文字列表),据我所知,这在 Python 中不存在。

【讨论】:

  • + 运算符足够“优雅”。非常感谢。
  • @PeterHsu 你的代码包含, ( @{$,你在谈论优雅吗?笏。 :-P(其实我是认真的,那行可能只是say join ':', @$brands, @$otherBrands。但仍然不如 Python 好。)
  • 嗯.. 我相信这是因为我知道数据结构以及代码中究竟发生了什么(引用、取消引用、数组语法等......)。这些让我感觉更...安全的代码。
【解决方案2】:

你可以试试下面的

list1 = ['google', 'apple', 'intel', 'qualcomm']
list2 = ['nike', 'reebok', 'puma']
your_string = ":".join(list1+list2)

输出应该是

'google:apple:intel:qualcomm:nike:reebok:puma'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 2021-11-16
    • 2012-08-14
    • 1970-01-01
    相关资源
    最近更新 更多