Tag: python

在Python中格式化string和命名参数

情况1: "{arg1} {arg2}".format (10, 20) 它会给KeyError: 'arg1'因为我没有传递命名的参数。 案例2: "{arg1} {arg2}".format(arg1 = 10, arg2 = 20) 现在它会正常工作,因为我传递了命名的参数。 它打印'10 20' 案例3: 而且,如果我传错了名字,它会显示KeyError: 'arg1' "{arg1} {arg2}".format(wrong = 10, arg2 = 20) 但, 案例4: 如果我以错误的顺序传递命名的参数 "{arg1} {arg2}".format(arg2 = 10, arg1 = 20) 有用… 并打印“ '20 10' 我的问题是为什么它起作用,在这种情况下命名参数有什么用处。

Python:将defaultdict转换为字典

我如何转换defaultdict number_to_letter defaultdict(<class 'list'>, {'2': ['a'], '3': ['b'], '1': ['b', 'a']}) 成为一个共同的字典? {'2': ['a'], '3': ['b'], '1': ['b', 'a']}

Python中x ='y''z'的底层是什么?

如果在Python中运行x = 'y' 'z' ,则会将x设置为'yz' ,这意味着当Python看到多个string相邻时,会发生某种string连接。 但是这是什么样的级联? 它实际上是运行'y' + 'z'还是运行''.join('y','z')还是其他的?

空集的真值

我感兴趣的是Python集合的真值,比如{'a', 'b'}或者空set set() (它与空字典{}不一样)。 特别是,我想知道当bool(my_set)是否为False当且仅当set my_set为空时。 忽略原始(如数字)以及用户定义的types, https : //docs.python.org/3/library/stdtypes.html#truth说: 以下值被认为是错误的: […] 任何空序列,例如'' , () , [] 。 任何空的映射,例如{} 。 […] 所有其他值都被认为是正确的 根据https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range ,一个集合不是一个序列(它是无序的,它的元素没有索引等等。 ): 有三种基本的序列types:列表,元组和范围对象。 而且,根据https://docs.python.org/3/library/stdtypes.html#mapping-types-dict , 目前只有一种标准的映射types,即字典 。 所以,就我所知,集合types不是一个可能是False的types。 但是,当我尝试, bool(set())评估为False 。 问题: 这是一个文档问题,还是我得到错误? 空集是唯一的真值是False集合吗?

升级包,而不使用pip升级依赖关系?

我使用pip和virtualenv为我的python应用程序。 我想升级到应用程序的新版本,而不涉及依赖关系。 当我使用pip install -U ,它会尝试升级所有软件包,甚至在没有可用的新版本时卸载并重新安装相同版本的依赖软件包。 我也试过pip install -U –no-deps但是这看起来相当于一个普通的安装而不是升级。 是否有组合的标志将做我想要的?

Python:没有csv.close()?

我正在使用CSV模块来读取制表符分隔的文件。 代码如下: z = csv.reader(open('/home/rv/ncbi-blast-2.2.23+/db/output.blast'), delimiter='\t') 但是,当我添加Z.close()结束我的脚本我得到和错误,说明“csv.reader”对象没有属性“closures” z.close() 那么我如何closures“Z”?

如何索引到字典?

我有一个字典如下: colors = { "blue" : "5", "red" : "6", "yellow" : "8", } 如何索引字典中的第一个条目? 由于显而易见的原因, colors[0]将返回一个KeyError 。

Python:检查一个对象是否是一个序列

在python中有一个简单的方法来判断一个事物是不是一个序列? 我试图做: if x is not sequence但python不喜欢那样

如何使用numpy.genfromtxt当第一列是string和其余列是数字?

基本上,我有一堆数据,第一列是一个string(标签),其余的列是数值。 我运行以下: data = numpy.genfromtxt('data.txt', delimiter = ',') 这读取了大部分的数据,但标签列只是“南”。 我该如何处理?

Python urlparse – 提取没有子域名的域名

需要一种方法来提取一个没有使用Python urlparse的url中的子域名的域名。 例如,我想从诸如"http://www.google.com"的完整url中提取"google.com" "http://www.google.com" 。 最接近的,我似乎来与urlparse是netloc属性,但包括子域名,在这个例子中是www.google.com 。 我知道可以编写一些自定义string操作来将www.google.com变成google.com,但是我想避免在这个任务中进行string转换或正则expression式。 (原因是我对URL形成规则不够熟悉,以至于我可以考虑编写自定义parsing函数时所需的每个边界案例。) 或者,如果urlparse不能做我所需要的,有没有人知道任何其他的Pythonurlparsing库呢?