相关疑难解决方法(0)

python:list vs tuple,何时使用?

在Python中,何时应该使用列表和何时使用元组?

有时你没有选择权,例如你有

"hello %s you are %s years old" % x
Run Code Online (Sandbox Code Playgroud)

然后x必须是一个元组.

但如果我是设计API并选择数据类型的人,那么指导原则是什么?

python types tuples list

420
推荐指数
6
解决办法
34万
查看次数

Python习惯用法返回第一项或无

我确信有一种更简单的方法可以解决这个问题.

我正在调用一堆返回列表的方法.该列表可能为空.如果列表非空,我想返回第一个项目; 否则,我想要返回无.此代码有效:

my_list = get_list()
if len(my_list) > 0: return my_list[0]
return None
Run Code Online (Sandbox Code Playgroud)

在我看来,应该有一个简单的单行成语,但对于我的生活,我无法想到它.在那儿?

编辑:

我在这里寻找单行表达式的原因并不是因为我喜欢简洁的代码,而是因为我必须编写很多像这样的代码:

x = get_first_list()
if x:
    # do something with x[0]
    # inevitably forget the [0] part, and have a bug to fix
y = get_second_list()
if y:
    # do something with y[0]
    # inevitably forget the [0] part AGAIN, and have another bug to fix
Run Code Online (Sandbox Code Playgroud)

我想要做的事情当然可以用一个函数来完成(也可能是):

def first_item(list_or_none):
    if list_or_none: return list_or_none[0]

x = first_item(get_first_list())
if x:
    # do something with x
y …
Run Code Online (Sandbox Code Playgroud)

python idioms python-2.4

241
推荐指数
8
解决办法
27万
查看次数

元组比Python中的列表更有效吗?

在实例化和检索元素时,元组和列表之间是否存在性能差异?

python performance tuples list python-internals

201
推荐指数
7
解决办法
7万
查看次数

在python中zip的反函数是什么?

可能重复:
Python中的转置/解压缩功能

我使用numpy库中的zip()函数来排序元组,现在我有一个包含所有元组的列表.我已经修改了该列表,现在我想恢复元组,以便我可以使用我的数据.我怎样才能做到这一点?

python tuples numpy list

148
推荐指数
1
解决办法
4万
查看次数

Python有一个不可变的列表吗?

python有不可变列表吗?

假设我希望拥有有序元素集合的功能,但我想保证不会改变,如何实现?列表是有序的,但它们可以变异.

python

76
推荐指数
5
解决办法
5万
查看次数

将"元组列表"转换为平面列表或矩阵

使用Sqlite,"select..from"命令返回结果"output",其打印(在python中):

>>print output
[(12.2817, 12.2817), (0, 0), (8.52, 8.52)]
Run Code Online (Sandbox Code Playgroud)

它似乎是一个元组列表.我想在一个简单的1D数组中转换"输出"(我猜的是Python中的列表):

[12.2817, 12.2817, 0, 0, 8.52, 8.52]
Run Code Online (Sandbox Code Playgroud)

或2x3矩阵:

12.2817 12.2817
0          0 
8.52     8.52
Run Code Online (Sandbox Code Playgroud)

通过"output [i] [j]"读取

flatten命令不能完成第一个选项的工作,我不知道第二个选项...... :)

你能给我一个提示吗?有些事情很快就会很好,因为真正的数据要大得多(这里只是一个简单的例子).

python tuples list

57
推荐指数
8
解决办法
3万
查看次数

如何注释多个返回值的类型?

如何使用类型提示来注释返回一个Iterable总是产生两个值的函数:a bool和a str?提示Tuple[bool, str]很接近,除了它将返回值类型限制为元组,而不是生成器或其他类型的可迭代.

我很好奇,因为我想注释一个foo()用于返回多个值的函数,如下所示:

always_a_bool, always_a_str = foo()
Run Code Online (Sandbox Code Playgroud)

通常函数喜欢foo()做这样的事情return a, b(它返回一个元组),但我喜欢的类型暗示有足够的灵活性,以取代发电机或列表或别的东西返回的元组.

python type-hinting python-3.x python-3.5

45
推荐指数
1
解决办法
2万
查看次数

在一系列dicts上进行以下转换的Pythonic方法是什么?

我有一个像这样的dicts列表:

l = [{'name': 'foo', 'values': [1,2,3,4]}, {'name': 'bar', 'values': [5,6,7,8]}]
Run Code Online (Sandbox Code Playgroud)

我想获得这种形式的输出:

>>> [('foo', 'bar'), ([1,2,3,4], [5,6,7,8])]
Run Code Online (Sandbox Code Playgroud)

但是缺乏for环比和append我没有看到解决方案.有比这更聪明的方法吗?

names = []
values = []
for d in l:
    names.append(d['name'])
    values.append(d['values'])
Run Code Online (Sandbox Code Playgroud)

python dictionary list python-3.x

30
推荐指数
4
解决办法
3510
查看次数

元组与字典差异

有人可以解释一下元组和字典之间存在的主要区别是什么以及何时在Swift中使用哪些?

ios swift

28
推荐指数
2
解决办法
2万
查看次数

Python中的List,Dictionary和Tuple有什么区别?

Python中的list,dictionary和tuple有什么区别?

python

26
推荐指数
1
解决办法
7万
查看次数