【问题标题】:How to pull a list out of an array in Python如何在 Python 中从数组中提取列表
【发布时间】:2017-04-26 06:57:25
【问题描述】:

我需要从数组中提取整个列表。基本上我需要我的代码来打印以下内容。

a = [1, 2, 3]
b = [(1, 2, 3)]

if a != b
   print "a does not equal b"
else:
   print "a and b are the same!"

>>> a and b are the same!

【问题讨论】:

  • 到目前为止你有没有尝试过?
  • ab 可以嵌套多深?
  • 这是一个数组,拉是什么意思?
  • 您是否要测试两个列表在元素方面是否相同?
  • 尝试将 a 转换为元组并比较两者。试图将 b 变成一个数组并比较两者。尝试将 b 变成一个元组并比较两者。我想我需要编写一个 for 循环,说明 a 和 b 的元素 1 是否相同,a 和 b 的元素 2 是否相同,如果 a 和 b 的元素 3 相同,则打印该消息,但 idk 如何这样做呢

标签: python


【解决方案1】:

只需访问内部元组并转换为列表

a=[1,2,3]
b=[(1,2,3)]

bl = list(b[0])

print(a == bl) # True

【讨论】:

  • 对于一个写得不好的问题的一个解释,这是一个不错的答案。我认为回答不清楚的问题没有多大意义
  • 我还是 python 新手。仍然不清楚列表、数组和元组之间的区别。如果一个元组被定义为具有语法 ((),(),...) 的列表内的列表,并且一个数组被定义为具有语法 [],那么我认为 b 是一个数组内的列表。跨度>
  • @DevinLiner No. btuple 内的 list
  • @DevinLiner 这里是关于列表和元组之间区别的一个很好的讨论stackoverflow.com/questions/626759/…
  • 叶子给了我答案
【解决方案2】:

转换它:

def con(st):
    res = []
    for x in st:
        res.append(x)
    return res

所以完整的代码是:

a = [1, 2, 3]
b = [(1, 2, 3)]
def con(st):
    res = []
    for x in st:
        res.append(x)
    return res
c = con(b[0])
if a != c:
   print "a does not equal b"
else:
   print "a and b are the same!"

【讨论】:

  • 您也可以使用list 代替con 函数。
【解决方案3】:

user leaf gave me the answer

a = [1, 2, 3]
b = [(1, 2, 3)]

if tuple(b[0]) != a:
   print "a does not equal b"
else:
   print "a and b are the same!"

结果 >>> a 和 b 是一样的!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 2021-10-14
    • 2022-11-01
    • 2019-01-20
    • 2019-09-13
    相关资源
    最近更新 更多