小编Moh*_*med的帖子

如何将嵌套的列表列表转换为python 3.3中的元组列表?

我试图将嵌套的列表列表转换为Python 3.3中的元组列表.但是,似乎我没有这样做的逻辑.

输入如下:

>>> nested_lst = [['tom', 'cat'], ['jerry', 'mouse'], ['spark', 'dog']]
Run Code Online (Sandbox Code Playgroud)

所需的输出应如下所示:

nested_lst_of_tuples = [('tom', 'cat'), ('jerry', 'mouse'), ('spark', 'dog')]
Run Code Online (Sandbox Code Playgroud)

python tuples list type-conversion nested-lists

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

Python Networkx和matplotlib中从右到左的支持

我试图用python33 networkx和matplotlib在Linux Fedora 19 KDE(64位)上运行绘制字典图.在输入英文脚本作为输入数据时,图形绘制得很好.但是,当提供阿拉伯语脚本作为输入数据时,我得到的是并列排队的正方形.这是英文脚本中简单图形的示例:

用英文字母写的阿拉伯文字

这是一个用阿拉伯文字写的阿拉伯语单词的简单图表(从右到左书写).

用阿拉伯字母写的阿拉伯文字

问题是:如何在使用python networkx和matplotlib.pyplot生成的图形中显示阿拉伯语脚本?非常感谢您的帮助!

编辑:在Chronial建议选择正确的字体后,我在python33 shell中执行了这些命令:

>>> import matplotlib.pyplot
>>> matplotlib.rcParams.update({font.family' : 'TraditionalArabic'})
Run Code Online (Sandbox Code Playgroud)

然后我用阿拉伯语构建了图形.但是,绘制图形时未显示阿拉伯文字.它显示了jsut正方形.我不知道matplotlib.pyplot是使用系统字体还是它有自己的字体包.假设matplotlib.pyplot使用系统字体,那么它应该显示阿拉伯语脚本.似乎需要将阿拉伯字体安装到matplotlib.pyplot.但我不知道该怎么做.非常感谢您的帮助!

编辑#3:在系统中安装阿拉伯字体后,我可以使用阿拉伯语脚本生成图表,但脚本从左到右显示.在最后阶段取得了很好的进展:这是从右到左出现的阿拉伯文字.下面是图表的一个镜头:

阿拉伯文字,但从左到右而不是从右到左出现

此致,

穆罕默德

python graph matplotlib arabic networkx

6
推荐指数
1
解决办法
1033
查看次数

Python Tkinter中.xxxxxxx的含义是什么?

我想知道Python Tkinter 中.xxxxxx(例如.50109912)的含义是什么.我试图检查返回的内容Widget_name(container, **configuration options).pack() 当然它会返回None但是当我在打包之前检查小部件返回的内容时,它会给出一些内容.50109912.这就是我在IDLE Python3.3中得到它的方法.

>>> from tkinter import *
>>> root = Tk()
>>> mybutton = Button(root, text="Click Me", command=root.destroy)
>>> print(mybutton)
.50109912
Run Code Online (Sandbox Code Playgroud)

python tkinter python-3.x

3
推荐指数
1
解决办法
504
查看次数

pyspark throws TypeError: textFile() missing 1 required positional argument: 'name'

I googled this problem, yet no direct answer related to spark-2.2.0-bin-hadoop2.7. I am trying to read a text file from local directory, but I always get TypeError that name argument is missing. This is the code in jupyter notebook with Python3:

from pyspark import SparkContext as sc
data = sc.textFile("/home/bigdata/test.txt")
Run Code Online (Sandbox Code Playgroud)

When I run the cell, I get this error:

TypeError                                 Traceback (most recent call last)
  <ipython-input-7-2a326e5b8f8c> in <module>()
  1 from pyspark import SparkContext as sc
  ----> 2 data = sc.textFile("/home/bigdata/test.txt") …
Run Code Online (Sandbox Code Playgroud)

python python-3.x apache-spark rdd pyspark

3
推荐指数
2
解决办法
7173
查看次数

TypeError:endswith first arg必须是str或str的元组,而不是布尔值

我试图计算以几个后缀结尾的单词的出现次数。我认为那endswith可以接受迭代。不幸的是,事实并非如此。下面是代码片段:

s = 'like go goes likes liked liked liking likes like'
lst = s.split()
suffixes = ['s', 'es', 'ies', 'ed', 'ing']

counter = 0
prompt = 'like'
for x in lst:
    if x.startswith(prompt) and x.endswith(any(suffix for suffix in suffixes)):
         counter += 1
Run Code Online (Sandbox Code Playgroud)

的值counter4在执行结束时。这是显示的错误消息:

TypeError: endswith first arg must be str or a tuple of str, not bool
Run Code Online (Sandbox Code Playgroud)

如何使以上代码起作用?

python boolean count python-3.x ends-with

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

如何在以lst [0] [0]为键的Python中将嵌套列表转换为字典

我有一个Python 3.x嵌套列表,如下所示:

lst = [['kataba', 'V:', '3rd_sg_masc_perf_active'], ['kataba:', 'V:', '3rd_dual_masc_perf_active'], ['katabu:', 'V:', '3rd_pl_masc_perf_active'], ['katabat', 'V:', '3rd_sg_fm_perf_active'], ['katabata:', 'V:', '3rd_dual_fm_perf_active']]
Run Code Online (Sandbox Code Playgroud)

我将切一个实例,以便我的问题更加清楚

>>> lst[0]
['kataba', 'V:', '3rd_sg_masc_perf_active']
>>> lst[0][0]
'kataba'
>>> lst[0][1:]
['V:', '3rd_sg_masc_perf_active']
Run Code Online (Sandbox Code Playgroud)

如何将上述嵌套列表转换成字典,例如,lst [0] [0]将是字典键,而lst [0] [1:]将是键的值。

此嵌套列表包含数以万计的元素。

您能帮我吗,因为我尝试了很多选择,但似乎我没有这样做的逻辑。

python dictionary list python-3.x

1
推荐指数
1
解决办法
7708
查看次数

为什么Perl中的/ elsif只执行第一个块?

我是Perl的新手.我有一个编写Perl程序的任务,该程序接受来自命令行的可数字,然后生成其复数形式.我在下面编写了以下代码,它没有显示编译错误.当我从命令行执行它时:(例如perl plural.pl),它会提示我输入名词,然后输入任何名词作为输入,复数形式是相同的.它不执行剩余的if语句.

例如,如果我输入单词"cat",则复数被生成为"cats".但是当我输入"教堂"这个词时,复数就会产生"教堂","飞"就像"飞翔".

这是代码:

#!/usr/bin/perl

$suffix1 = 's';
$suffix2 = 'es';
$suffix3 = 'ies';

print "Enter a countable noun to get plural: ";
$word = <STDIN>;
chomp($word);

if(substr $word, -1 == 'b' or 'd' or 'c' or 'g' or 'r' or 'j' or 'k' or 'l' or 'm' or 'n' or 'p' or 'q' or 'r' or 't' or 'v' or 'w' or 'e' or 'i' or 'o' or 'u') {
    $temp = $word.$suffix1;
    print "The plural form of the …
Run Code Online (Sandbox Code Playgroud)

perl if-statement

0
推荐指数
1
解决办法
1534
查看次数