相关疑难解决方法(0)

如何在python中将字符串列表转换为复数?

我正在尝试编写在Python中导入和导出复数列表的代码.到目前为止,我正在尝试使用csv模块.我使用以下方法将数据导出到文件:

spamWriter = csv.writer(open('data.csv', 'wb')
spamWriter.writerow(complex_data)
Run Code Online (Sandbox Code Playgroud)

复杂数据是复杂(re,im)函数生成的列表编号.例如:

print complex_data
[(37470-880j),(35093-791j),(33920-981j),(28579-789j),(48002-574j),(46607-2317j),(42353-1557j),(45166-2520j),(45594-232j),(41149+561j)]
Run Code Online (Sandbox Code Playgroud)

然后稍后导入它,我尝试以下方法:

mycsv = csv.reader(open('data.csv', 'rb'))
out = list(mycsv)
print out
[['(37470-880j)','(35093-791j)','(33920-981j)','(28579-789j)','(48002-574j)','(46607-2317j)','(42353-1557j)','(45166-2520j)','(45594-232j)','(41149+561j)']]
Run Code Online (Sandbox Code Playgroud)

(请注意,这是一个列表列表,我恰好只使用了一行示例.)

我现在需要把它变成复数而不是字符串.我认为应该有一种方法可以用这个问题进行映射,但我无法弄清楚如何使它工作.任何帮助,将不胜感激!

或者,如果有任何更简单的方法来导入/导出我不知道的复数值数据,我会很乐意完全尝试其他方法.

python

4
推荐指数
2
解决办法
6340
查看次数

如何在Python3中将字符串数列表转换为int数?

可能重复:如何在Python中将字符串转换为整数?

大家好,

我试图将这个字符串整数从嵌套列表转换为整数.这是我的清单:

listy = [['+', '1', '0'], ['-', '2', '0']]
Run Code Online (Sandbox Code Playgroud)

我试图转换为这个:

[['+', 1, 2], ['-', 2, 0]]
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所尝试的,但我的第二行代码取自问题中的一个答案如何在Python中将字符串转换为整数?

listy = [['+', '1', '0'], ['-', '2', '0']]
T2 = [list(map(int, x)) for x in listy]
print(T2)
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误:

ValueError: invalid literal for int() with base 10: '+'
Run Code Online (Sandbox Code Playgroud)

有没有办法在Python 3中解决这个问题?

python python-3.x

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

“python 方式”解析并有条件替换二维列表中的每个元素

我有一个列表,其中包含进一步的字符串列表,这些字符串可能代表单词(在字母数字意义上)或整数,例如

myLists = [['5','cat','23'], 
           ['33','parakeet','scalpel'], 
           ['correct','horse','battery','staple','99']]  
Run Code Online (Sandbox Code Playgroud)

我想解析数组,以便所有整数表示形式都转换为整数。为此,我有一个简单的函数 numParser(string) :

def numParser(s):
    try:
        return int(s)
    except ValueError:
        return s
Run Code Online (Sandbox Code Playgroud)

凭借我的 c/java 背景,我通常只会迭代两个数组,更改每个值(尽管这些数组是同质的)。但我对 python 很陌生,认为可能有更好的方法来做到这一点,所以我四处搜索,发现了一些关于 map() 和列表理解的帖子。列表理解似乎不是正确的方法,因为列表不统一,但 map() 似乎应该可以工作。为了测试,我做了

a=['cat','5','4']
a = map(numParser, a)
Run Code Online (Sandbox Code Playgroud)

这有效。我不假思索地在嵌套循环上做了同样的事情,但没有。

for single_list in myLists:
    single_list = map(numParser, rawData)
Run Code Online (Sandbox Code Playgroud)

现在,在收到未更改的二维数组后,我突然想到迭代器正在处理对数组的引用,而不是数组本身。是否有一种超级时髦的Python方法来实现我将所有整数表示形式转换为整数的目标,或者我是否需要直接访问每个数组值来更改它,例如 myLists[1][2] = numParser(myLists[1][2 ])?

python arrays list

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

简明的Python 3.x批量字典查找

我有大量的字符串,我想转换为整数.在Python 3.7中执行列表字典查找的最简洁方法是什么?

例如:

d = {'frog':1, 'dog':2, 'mouse':3}
x = ['frog', 'frog', 'mouse']
result1 = d[x[0]]
result2 = d[x]
Run Code Online (Sandbox Code Playgroud)

result等于1result2不可能:

TypeError                                 Traceback (most recent call last)
<ipython-input-124-b49b78bd4841> in <module>
      2 x = ['frog', 'frog', 'mouse']
      3 result1 = d[x[0]]
----> 4 result2 = d[x]

TypeError: unhashable type: 'list'
Run Code Online (Sandbox Code Playgroud)

一种方法是:

result2 = []
for s in x:
    result2.append(d[s])
Run Code Online (Sandbox Code Playgroud)

这导致[1, 1, 3]但需要一个for循环.这对大型列表来说是最佳的吗?

python dictionary python-3.x

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

如何将字符串列表更改为整数 - Python

可能重复:
如何在python中将字符串转换为整数?

我需要将字符串列表更改为整数列表我该怎么做

('1','1','1','1','2')进入(1,1,1,1,2).

python string integer

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

将一个值映射到列表中的另一个值

在Python列表中,如何将一个值的所有实例映射到另一个值?

例如,假设我有这个列表:

x = [1, 3, 3, 2, 3, 1, 2]
Run Code Online (Sandbox Code Playgroud)

现在,也许我想改变这一切1的到'a',所有2的到'b',所有3的到'c',创建另一个列表:

y = ['a', 'c', 'c', 'b', 'c', 'a', 'b']
Run Code Online (Sandbox Code Playgroud)

我怎样才能优雅地进行这种映射?

python mapping list

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

如何在 Python 中将每个子列表连接到单个字符串?

MWE: 这是列表:

L=[['1', '1', '0', '0', '0'],['1', '1', '1', '1', '0'],['0', '0', '1', '1', '0']]
Run Code Online (Sandbox Code Playgroud)

我想要的清单是:

 D=['11000','11110','00110'] 
Run Code Online (Sandbox Code Playgroud)

我该怎么做,请帮忙。

python string join list python-2.7

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

如何在python中小写一个列表

我正在尝试读取 jupyter notebook 中的文本文件并获取文件中的唯一单词。

我正在将该文件作为列表读取,然后尝试对其应用小写。但该.lower()功能不适用于列表。请帮忙。

python

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

将函数应用于列表 Python 中的所有项目

我正在尝试将函数应用于列表。该函数接受一个值并产生另一个值。

例如:

myCoolFunction(75)
Run Code Online (Sandbox Code Playgroud)

会产生一个新的价值

到目前为止,我正在使用这个:

x = 0
newValues = []

for value in my_list:

    x = x + 1
    newValues.append(myCoolFunction(value))
    print(x)
Run Code Online (Sandbox Code Playgroud)

我正在处理大约 125,000 个值,并且它的运行速度似乎不是很有效。

是否有更 Pythonic 的方式将函数应用于值?

python lambda data-analysis dataframe pandas

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

形成两个字符串列表的笛卡尔积的最 Pythonic 方法

我有两个字符串列表:

l1 = ["Col1", "Col2", "Col3"]
l2 = ["_ad1", "_ad2"]
Run Code Online (Sandbox Code Playgroud)

我想将两个列表l1x的笛卡尔积/串联l2成一个元素,即我想要的结果是:

["Col1_ad1", "Col1_ad2", "Col2_ad1", "Col2_ad2", "Col3_ad1", "Col1_ad1"]
Run Code Online (Sandbox Code Playgroud)

当然我可以这样做:

result = []
for colname in l1:
    for suffix in l2:
        result.append(f"{colname}{suffix}")
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有更Pythonic的方式?

编辑:我并不是在寻找一种更Pythonic的方式来制定循环(即列表理解)。相反,我正在寻找一个内置函数,类似的函数 concatenate(l1, l2)会产生所需的结果

python string list concatenation cartesian-product

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