Найти - Пользователи
Полная версия: Изменить значения в List
Начало » Python для новичков » Изменить значения в List
1
Radzhab
    url = 'http://www.xxx.ru/'
    req = request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (compatible; MSIE 6.1; WindowsNT)')
    f = request.urlopen(req).read()
    res = f
    lp = str(res)
    m = re.findall("page=\d*",lp)

// в общем никак не могу изменить элементы кортежа m. Чтобы кроме цифр ниче не осталось в m. C регулярками не предлагать. Как через цикл for сделать ?
FishHook
Radzhab
    url = 'http://www.xxx.ru/'
    req = request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (compatible; MSIE 6.1; WindowsNT)')
    f = request.urlopen(req).read()
    res = f
    lp = str(res)
    m = re.findall("page=\d*",lp)

// в общем никак не могу изменить элементы кортежа m. Чтобы кроме цифр ниче не осталось в m. C регулярками не предлагать. Как через цикл for сделать ?

# -*- coding:utf-8 -*-
from urllib2 import *
url = 'http://python.su/forum/topic/14827/?page=2'
req = Request(url)
req.add_header('User-Agent','Mozilla/5.0 (compatible; MSIE 6.1; WindowsNT)')
f = urlopen(req).read()
res = f
lp = str(res)
m = re.findall("page=\d*",lp)
print m 
>>> ['page=1', 'page=1', 'page=1', 'page=1']
Что должно получиться то?
Radzhab
FishHook я просто хочу отсечь “page=” и оставить тока цифры. Приведу примерный код на c#

for (int i=0; i<list.count; i++)
{
   list[i]= string.replace("page=","") // Заменяю "page="  на пустоту. 
}
PooH
m = [x.group(1) for x in re.finditer("page=(\d)*", lp)]
Radzhab
PooH пипец) это случаем не LINQ?
FishHook
Radzhab
FishHook я просто хочу отсечь “page=” и оставить тока цифры. Приведу примерный код на c#

for (int i=0; i<list.count; i++)
{
   list[i]= string.replace("page=","") // Заменяю "page="  на пустоту. 
}
А, понятно, если без регекспов то тоже весьма просто

m=[int(i.replace('page=','')) for i in m]
PooH
Radzhab
PooH пипец) это случаем не LINQ?
Это List Comprehensions и выделение группы цифр в регулярке
odnochlen
Radzhab
PooH пипец) это случаем не LINQ?
Это списковые выражения, которые, как и линк, представляют из себя функциональное программирование. Кстати, синтаксис списковых выражений в питоне с функциями мне больше нравится, чем в linq с методами.
py.user.next
>>> import re
>>> s = ' abcd page=10 defg page=20 hijk '
>>> re.findall(r'page=(\d+)', s)
['10', '20']
>>>
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB