簡體   English   中英

相當於Python中的這兩行Perl?

[英]Equivalent of this two line Perl in Python?

我需要在Python 2.x中找到這兩行Perl的完全等價物

PERL:

foreach my $edge (@edges){
    $edge =~ s/[\(\)]//g;
    my @verts = split(/,/, $edge);

蟒蛇:

for edge in edges:
    edge = ???
    verts = ???

非常感謝你。

edge = edge.translate(None, '()')
verts = edge.split(',')

您可能還希望在創建頂點時將字符串轉換為整數,使用:

verts = map(int, edge.split(','))

使用正則表達式模塊貼近Perl版本:

for edge in edges:
    edge = re.sub( '[()]', '', edge )
    verts = filter( None, re.split( ',', edge ) )

在腳本的頂部確保包括

import re

使用字符串方法replace ANS split (或subsplitre模塊)。 通常,閱讀正則表達式 - 大多數現代語言實現(也是Python)都基於Perls。 你的代碼中的模式非常簡單:首先你刪除所有出現的'('和')',而不是分開'by',(我可以說,我多年沒有用perl編寫)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM